> hashmap;
const int MOD = 10007;
public:
MyHashMap() {
hashmap.resize(MOD);
}
void put(int key, int value) {
int idx = key % MOD;
list& l = hashmap[idx];
for(auto iter = l.begin(); iter != l.end(); iter++){
int k = iter->key;
if(k == key){
iter->value = value;
return;
}
}
l.push_back(P(key, value));
}
int get(int key) {
int idx = key % MOD;
list
& l = hashmap[idx];
for(auto iter = l.begin(); iter != l.end(); iter++){
int k = iter->key;
if(k == key){
return iter->value;
}
}
return -1;
}
void remove(int key) {
int idx = key % MOD;
list
& l = hashmap[idx];
for(auto iter = l.begin(); iter != l.end(); iter++){
int k = iter->key;
if(k == key){
l.erase(iter);
return;
}
}
}
};
/**
* Your MyHashMap object will be instantiated and called as such:
* MyHashMap* obj = new MyHashMap();
* obj->put(key,value);
* int param_2 = obj->get(key);
* obj->remove(key);
*/
````
### 用时和内存
> 执行用时:103 ms,在所有C++提交中击败了64.26%的用户
>
> 内存消耗:64.51 MB,在所有C++提交中击败25.56%的用户
>
所有评论
暂无评论