Untitled
unknown
plain_text
2 years ago
1.2 kB
13
Indexable
class HashTable:
def __init__(self):
self.index = []
for i in range(100000):
self.index.append([])
def get_hash(self, num):
return num % 100000
def add(self, key, value):
for i in self.index[self.get_hash(key)]:
if i[0] == key:
i[1] = value
return
self.index[self.get_hash(key)].append([key, value])
def find(self, key):
arr = self.index[self.get_hash(key)]
if len(arr) == 0:
return None
return arr[-1][1]
#for pair in arr:
#if pair[0] == key:
#return pair[1]
def delete(self, key):
arr = self.index[self.get_hash(key)]
if len(arr) > 0:
arr.remove(arr[-1])
for pair in arr:
if pair[0] == key:
arr.remove(pair)
n = int(input())
table = HashTable()
for i in range(n):
inp = input().split()
if inp[0] == "add":
table.add(int(inp[1]), inp[2])
elif inp[0] == "find":
res = table.find(int(inp[1]))
print(res if res is not None else "not found")
elif inp[0] == "del":
table.delete(int(inp[1]))Editor is loading...
Leave a Comment