题目描述[原题链接][https://leetcode-cn.com/problems/design-hashmap/]
不使用任何内建的哈希表库设计一个哈希映射
具体地说,你的设计应该包含以下的功能
put(key, value)
:向哈希映射中插入(键,值)的数值对。如果键对应的值已经存在,更新这个值。get(key)
:返回给定的键所对应的值,如果映射中不包含这个键,返回-1。remove(key)
:如果映射中存在这个键,删除这个数值对。
示例:
1 | MyHashMap hashMap = new MyHashMap(); |
注意:
- 所有的值都在
[1, 1000000]
的范围内。 - 操作的总数目在
[1, 10000]
范围内。 - 不要使用内建的哈希库。
算法描述
使用vector
做结构,初始化数组的长度为1000000
初始都赋值为-1
,put
直接赋值就行,get
操作的时候直接返回值就行,remove
的时候修改值为-1
即可
C++代码
1 | class MyHashMap { |
Java代码
1 | class MyHashMap { |