1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-11 02:58:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/键值映射 [map-sum-pairs].html

45 lines
1.5 KiB
HTML
Raw Normal View History

2022-03-27 20:46:41 +08:00
<p>设计一个 map ,满足以下几点:</p>
<ul>
<li>字符串表示键,整数表示值</li>
<li>返回具有前缀等于给定字符串的键的值的总和</li>
</ul>
<p>实现一个 <code>MapSum</code> 类:</p>
<ul>
<li><code>MapSum()</code> 初始化 <code>MapSum</code> 对象</li>
<li><code>void insert(String key, int val)</code> 插入 <code>key-val</code> 键值对,字符串表示键 <code>key</code> ,整数表示值 <code>val</code> 。如果键 <code>key</code> 已经存在,那么原来的键值对&nbsp;<code>key-value</code>&nbsp;将被替代成新的键值对。</li>
<li><code>int sum(string prefix)</code> 返回所有以该前缀 <code>prefix</code> 开头的键 <code>key</code> 的值的总和。</li>
</ul>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre>
<strong>输入:</strong>
["MapSum", "insert", "sum", "insert", "sum"]
[[], ["apple", 3], ["ap"], ["app", 2], ["ap"]]
<strong>输出:</strong>
[null, null, 3, null, 5]
<strong>解释:</strong>
MapSum mapSum = new MapSum();
mapSum.insert("apple", 3);
mapSum.sum("ap"); // 返回 3 (<u>ap</u>ple = 3)
mapSum.insert("app", 2);
mapSum.sum("ap"); // 返回 5 (<u>ap</u>ple + <u>ap</u>p = 3 + 2 = 5)
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= key.length, prefix.length &lt;= 50</code></li>
<li><code>key</code><code>prefix</code> 仅由小写英文字母组成</li>
<li><code>1 &lt;= val &lt;= 1000</code></li>
<li>最多调用 <code>50</code><code>insert</code><code>sum</code></li>
</ul>