设计哈希映射
力扣 706. 设计哈希映射
题目说明
不使用任何内建的哈希表库设计一个哈希映射(HashMap)。
实现 MyHashMap 类:
- MyHashMap() 用空映射初始化对象
- void put(int key, int value) 向 HashMap 插入一个键值对 (key, value) 。如果 key 已经存在于映射中,则更新其对应的值 value 。
- int get(int key) 返回特定的 key 所映射的 value ;如果映射中不包含 key 的映射,返回 -1 。
- void remove(key) 如果映射中存在 key 的映射,则移除 key 和它所对应的 value 。
- 提示:
0 <= key, value <= 10^6- 最多调用
10^4次put、get和remove方法
示例
示例 1:
1 | 输入: |
笔者理解
此题是一道数据结构设计算法问题,在力扣题库中被定义为简单题。
解法
当笔者阅读完此题后,直接采用了链表数组的方式,让我们来看看具体如何实现的吧。
实现
1 | class MyHashMap { |
时间和空间效率还行,可见此解法还比较适合此题。
总结
本题是今天的一题,难度是为简单,感兴趣的朋友都可以去尝试一下,此题还有其他更多的解法,朋友们可以自己逐一尝试。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 徐年の博客!









