zoukankan      html  css  js  c++  java
  • 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
    

    使用insert和sum方法实现MapSum类。 对于插入方法,您将得到一对(字符串,整数)。字符串表示键,整数表示该值。如果密钥已经存在,那么原来的密钥对对将被覆盖。 对于方法总和,您将得到一个表示前缀的字符串,您需要返回所有键的值以前缀开头的值的总和。

    1. /**
    2. * Initialize your data structure here.
    3. */
    4. var MapSum = function() {
    5. this.map = new Map();
    6. };
    7. /**
    8. * @param {string} key
    9. * @param {number} val
    10. * @return {void}
    11. */
    12. MapSum.prototype.insert = function (key, val) {
    13. this.map.set(key, val);
    14. };
    15. /**
    16. * @param {string} prefix
    17. * @return {number}
    18. */
    19. MapSum.prototype.sum = function (prefix) {
    20. let times = 0;
    21. let map = this.map;
    22. for (let item of map) {
    23. if (item[0].slice(0,prefix.length) == (prefix)) {
    24. times += item[1];
    25. }
    26. }
    27. return times;
    28. };
    29. /**
    30. * Your MapSum object will be instantiated and called as such:
    31. * var obj = Object.create(MapSum).createNew()
    32. * obj.insert(key,val)
    33. * var param_2 = obj.sum(prefix)
    34. */








  • 相关阅读:
    操作技巧——电脑远程控制
    软件安装——internal error2503/2502
    系统常识——虚拟内存地址
    操作技巧——保障无线上网的技巧
    操作技巧——输入法转换问题
    软件安装——彻底卸载MySQL
    Java——this
    python百度贴吧爬虫
    糗事百科python爬虫
    python请求带cookie
  • 原文地址:https://www.cnblogs.com/xiejunzhao/p/7647695.html
Copyright © 2011-2022 走看看