[LeetCode&Python] Problem 706. Design HashMap
Posted chiyeung
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode&Python] Problem 706. Design HashMap相关的知识,希望对你有一定的参考价值。
Design a HashMap without using any built-in hash table libraries.
To be specific, your design should include these functions:
put(key, value)
: Insert a (key, value) pair into the HashMap. If the value already exists in the HashMap, update the value.get(key)
: Returns the value to which the specified key is mapped, or -1 if this map contains no mapping for the key.remove(key)
: Remove the mapping for the value key if this map contains the mapping for the key.
Example:
MyHashMap hashMap = new MyHashMap(); hashMap.put(1, 1); hashMap.put(2, 2); hashMap.get(1); // returns 1 hashMap.get(3); // returns -1 (not found) hashMap.put(2, 1); // update the existing value hashMap.get(2); // returns 1 hashMap.remove(2); // remove the mapping for 2 hashMap.get(2); // returns -1 (not found)
Note:
- All keys and values will be in the range of
[0, 1000000]
. - The number of operations will be in the range of
[1, 10000]
. - Please do not use the built-in HashMap library.
class MyHashMap(object): def __init__(self): """ Initialize your data structure here. """ self._data={} def put(self, key, value): """ value will always be non-negative. :type key: int :type value: int :rtype: void """ self._data[key]=value def get(self, key): """ Returns the value to which the specified key is mapped, or -1 if this map contains no mapping for the key :type key: int :rtype: int """ if key in self._data: return self._data[key] else: return -1 def remove(self, key): """ Removes the mapping of the specified value key if this map contains a mapping for the key :type key: int :rtype: void """ if key in self._data: del self._data[key] # Your MyHashMap object will be instantiated and called as such: # obj = MyHashMap() # obj.put(key,value) # param_2 = obj.get(key) # obj.remove(key)
以上是关于[LeetCode&Python] Problem 706. Design HashMap的主要内容,如果未能解决你的问题,请参考以下文章
C++&Python描述 LeetCode C++&Python描述 LeetCode 剑指 Offer 22. 链表中倒数第k个节点
[LeetCode&Python] Problem 202. Happy Number
[LeetCode&Python] Problem 520. Detect Capital
[LeetCode&Python] Problem 383. Ransom Note