1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-10 18:48:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/设计哈希映射 [design-hashmap].html
2022-03-29 12:43:11 +08:00

43 lines
1.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>不使用任何内建的哈希表库设计一个哈希映射HashMap</p>
<p>实现 <code>MyHashMap</code> 类:</p>
<ul>
<li><code>MyHashMap()</code> 用空映射初始化对象</li>
<li><code>void put(int key, int value)</code> 向 HashMap 插入一个键值对 <code>(key, value)</code> 。如果 <code>key</code> 已经存在于映射中,则更新其对应的值 <code>value</code></li>
<li><code>int get(int key)</code> 返回特定的 <code>key</code> 所映射的 <code>value</code> ;如果映射中不包含 <code>key</code> 的映射,返回 <code>-1</code></li>
<li><code>void remove(key)</code> 如果映射中存在 <code>key</code> 的映射,则移除 <code>key</code> 和它所对应的 <code>value</code></li>
</ul>
<p>&nbsp;</p>
<p><strong>示例:</strong></p>
<pre>
<strong>输入</strong>
["MyHashMap", "put", "put", "get", "get", "put", "get", "remove", "get"]
[[], [1, 1], [2, 2], [1], [3], [2, 1], [2], [2], [2]]
<strong>输出</strong>
[null, null, null, 1, -1, null, 1, null, -1]
<strong>解释</strong>
MyHashMap myHashMap = new MyHashMap();
myHashMap.put(1, 1); // myHashMap 现在为 [[1,1]]
myHashMap.put(2, 2); // myHashMap 现在为 [[1,1], [2,2]]
myHashMap.get(1); // 返回 1 myHashMap 现在为 [[1,1], [2,2]]
myHashMap.get(3); // 返回 -1未找到myHashMap 现在为 [[1,1], [2,2]]
myHashMap.put(2, 1); // myHashMap 现在为 [[1,1], [2,1]](更新已有的值)
myHashMap.get(2); // 返回 1 myHashMap 现在为 [[1,1], [2,1]]
myHashMap.remove(2); // 删除键为 2 的数据myHashMap 现在为 [[1,1]]
myHashMap.get(2); // 返回 -1未找到myHashMap 现在为 [[1,1]]
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>0 &lt;= key, value &lt;= 10<sup>6</sup></code></li>
<li>最多调用 <code>10<sup>4</sup></code><code>put</code><code>get</code><code>remove</code> 方法</li>
</ul>