package com.fishercoder.solutions;

import java.util.HashMap;
import java.util.Map;

/**
 * 677. Map Sum Pairs
 *
 *  Implement a MapSum class with insert, and sum methods.

 For the method insert, you'll be given a pair of (string, integer).
 The string represents the key and the integer represents the value.
 If the key already existed, then the original key-value pair will be overridden to the new one.

 For the method sum, you'll be given a string representing the prefix,
 and you need to return the sum of all the pairs' value whose key starts with the prefix.

 Example 1:

 Input: insert("apple", 3), Output: Null
 Input: sum("ap"), Output: 3
 Input: insert("app", 2), Output: Null
 Input: sum("ap"), Output: 5

 */
public class _677 {
    public static class Solution1 {

        public static class MapSum {

            Map<String, Integer> map;

            /**
             * Initialize your data structure here.
             */
            public MapSum() {
                map = new HashMap<>();
            }

            public void insert(String key, int val) {
                map.put(key, val);
            }

            public int sum(String prefix) {
                int sum = 0;
                for (String key : map.keySet()) {
                    if (key.startsWith(prefix)) {
                        sum += map.get(key);
                    }
                }
                return sum;
            }
        }

    }
}

@@ -109,17 +109,16 @@
 rs%0A *%0A *
- 
  Impleme
@@ -165,17 +165,21 @@
 ethods.%0A
-%0A
+ *%0A *
  For the
@@ -239,16 +239,18 @@
 teger).%0A
+ *
  The str
@@ -310,16 +310,18 @@
  value.%0A
+ *
  If the 
@@ -409,17 +409,21 @@
 ew one.%0A
-%0A
+ *%0A *
  For the
@@ -485,16 +485,18 @@
 prefix,%0A
+ *
  and you
@@ -577,17 +577,21 @@
 prefix.%0A
-%0A
+ *%0A *
  Example
@@ -594,17 +594,18 @@
 mple 1:%0A
-%0A
+ *
  Input: 
@@ -629,32 +629,34 @@
 ), Output: Null%0A
+ *
  Input: sum(%22ap%22
@@ -668,16 +668,18 @@
 tput: 3%0A
+ *
  Input: 
@@ -709,16 +709,18 @@
 t: Null%0A
+ *
  Input: 
@@ -740,17 +740,16 @@
 tput: 5%0A
-%0A
  */%0Apubl

refactor 677