706. Design hashmap

Source: Internet
Author: User

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

To be specific, your design shoshould 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:    def __init__(self):        """        Initialize your data structure here.        """        self.a = []        self.b = []    def put(self, key, value):        """        value will always be non-negative.        :type key: int        :type value: int        :rtype: void        """        if key in self.a:            pos = self.a.index(key)            self.b[pos] = value        else:            self.a.append(key)            self.b.append(value)        return    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.a:            pos = self.a.index(key)            return self.b[pos]        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.a:            pos = self.a.index(key)            self.a.pop(pos)            self.b.pop(pos)        return # Your MyHashMap object will be instantiated and called as such:# obj = MyHashMap()# obj.put(key,value)# param_2 = obj.get(key)# obj.remove(key)

706. Design hashmap

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.