Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Node:
- def __init__(self, key, value):
- self.key = key
- self.value = value
- self.next = None
- HASH_NUM = 2069
- class MyHashMap:
- def __init__(self):
- self.tables = [None]*HASH_NUM
- def put(self, key: int, value: int) -> None:
- table = self.tables[key % HASH_NUM]
- if not table:
- self.tables[key % HASH_NUM] = Node(key, value)
- return
- current = table
- while current:
- if current.key == key:
- current.value = value
- return
- if not current.next:
- current.next = Node(key, value)
- return
- current = current.next
- return
- def get(self, key: int) -> int:
- table = self.tables[key % HASH_NUM]
- if table:
- current = table
- while current:
- if key == current.key:
- return current.value
- current = current.next
- return -1
- return -1
- def remove(self, key: int) -> None:
- current = self.tables[key % HASH_NUM]
- prev = None
- while current:
- if current.key == key:
- if not prev:
- self.tables[key % HASH_NUM] = current.next
- else:
- prev.next = current.next
- return
- prev = current
- current = current.next
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement