Skip to content

Commit dcc98e6

Browse files
author
lightmen
committed
modify insert-delete-getrandom-o1.py
1 parent ca77d05 commit dcc98e6

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

python/hash-table/insert-delete-getrandom-o1.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ def __init__(self):
44
"""
55
Initialize your data structure here.
66
"""
7-
self.d = set()
7+
self.d = {}
88
self.l = []
99

1010
def insert(self, val):
@@ -15,8 +15,8 @@ def insert(self, val):
1515
"""
1616
if val in self.d:
1717
return False
18-
self.d.add(val)
1918
self.l.append(val)
19+
self.d[val] = len(self.l) - 1
2020
return True
2121

2222
def remove(self, val):
@@ -27,9 +27,13 @@ def remove(self, val):
2727
"""
2828
if val not in self.d:
2929
return False
30-
self.d.remove(val)
31-
#del self.d[val]
32-
self.l = list(self.d)
30+
if self.d[val] != len(self.l) - 1:
31+
self.l[self.d[val]] = self.l[-1]
32+
self.d[self.l[-1]] = self.d[val]
33+
34+
self.l.pop()
35+
del self.d[val]
36+
3337
return True
3438

3539
def getRandom(self):

0 commit comments

Comments
 (0)