304 North Cardinal St.
Dorchester Center, MA 02124

Design HashMap LeetCode Solution

Problem – Design HashMap

Design a HashMap without using any built-in hash table libraries.

Implement the `MyHashMap` class:

• `MyHashMap()` initializes the object with an empty map.
• `void put(int key, int value)` inserts a `(key, value)` pair into the HashMap. If the `key` already exists in the map, update the corresponding `value`.
• `int get(int key)` returns the `value` to which the specified `key` is mapped, or `-1` if this map contains no mapping for the `key`.
• `void remove(key)` removes the `key` and its corresponding `value` if the map contains the mapping for the `key`.

Example 1:

``````Input
["MyHashMap", "put", "put", "get", "get", "put", "get", "remove", "get"]
[[], [1, 1], [2, 2], [1], [3], [2, 1], [2], [2], [2]]
Output
[null, null, null, 1, -1, null, 1, null, -1]

Explanation
MyHashMap myHashMap = new MyHashMap();
myHashMap.put(1, 1); // The map is now [[1,1]]
myHashMap.put(2, 2); // The map is now [[1,1], [2,2]]
myHashMap.get(1);    // return 1, The map is now [[1,1], [2,2]]
myHashMap.get(3);    // return -1 (i.e., not found), The map is now [[1,1], [2,2]]
myHashMap.put(2, 1); // The map is now [[1,1], [2,1]] (i.e., update the existing value)
myHashMap.get(2);    // return 1, The map is now [[1,1], [2,1]]
myHashMap.remove(2); // remove the mapping for 2, The map is now [[1,1]]
myHashMap.get(2);    // return -1 (i.e., not found), The map is now [[1,1]]
``````

Constraints:

• `0 <= key, value <= 106`
• At most `104` calls will be made to `put``get`, and `remove`.

Design HashMap LeetCode Solution in Python

``````class MyHashMap:
def __init__(self):
self.data = [None] * 1000001
def put(self, key: int, val: int) -> None:
self.data[key] = val
def get(self, key: int) -> int:
val = self.data[key]
return val if val != None else -1
def remove(self, key: int) -> None:
self.data[key] = None
``````

Design HashMap LeetCode Solution in Java

``````class MyHashMap {
int[] data;
public MyHashMap() {
data = new int[1000001];
Arrays.fill(data, -1);
}
public void put(int key, int val) {
data[key] = val;
}
public int get(int key) {
return data[key];
}
public void remove(int key) {
data[key] = -1;
}
}
``````

Design HashMap LeetCode Solution in C++

``````class MyHashMap {
public:
int data[1000001];
MyHashMap() {
fill(data, data + 1000000, -1);
}
void put(int key, int val) {
data[key] = val;
}
int get(int key) {
return data[key];
}
void remove(int key) {
data[key] = -1;
}
};
``````
Design HashMap LeetCode Solution Review:

In our experience, we suggest you solve this Design HashMap LeetCode Solution and gain some new skills from Professionals completely free and we assure you will be worth it.

If you are stuck anywhere between any coding problem, just visit Queslers to get the Design HashMap LeetCode Solution

Find on LeetCode

Conclusion:

I hope this Design HashMap LeetCode Solution would be useful for you to learn something new from this problem. If it helped you then don’t forget to bookmark our site for more Coding Solutions.

This Problem is intended for audiences of all experiences who are interested in learning about Data Science in a business context; there are no prerequisites.

Keep Learning!

More Coding Solutions >>

LeetCode Solutions

Hacker Rank Solutions

CodeChef Solutions