https://leetcode.com/problems/map-sum-pairs/description/
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
class MapSum {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.unordered_map<string,int> mp;
public:
/** Initialize your data structure here. */
MapSum() {
}
void insert(string key, int val) {
mp[key] = val;
}
int sum(string prefix) {
int s = 0;
for(auto & x: mp) {
if(x.first.size()>=prefix.size()) {
int i;
for(i=0; i<prefix.size(); i++) {
if(x.first[i]!=prefix[i]) break;
}
if(i==prefix.size()) s += x.second;
}
}
return s;
}
};
No comments:
Post a Comment