访问量: 10 次浏览
假设我们想要实现一个集合数据结构,并带有以下方法 –
因此,如果我们构造一个集合s,然后调用s.add(10),s.add(20),s.add(10),s.exists(10),s.remove(10),s.exists(10),s.exists(20) ,则输出为:
为了解决这个问题,我们将按照以下步骤进行 –
让我们看下面的实现以获得更好的理解 –
from collections import defaultdict
class MySet:
def __init__(self):
self.buckets = defaultdict(list)
def add(self, val):
if not self.exists(val):
self.buckets[val].append(val)
def exists(self, val):
return val in self.buckets[val]
def remove(self, val):
del self.buckets[val]
s = MySet()
s.add(10)
s.add(20)
s.add(10)
print(s.exists(10))
s.remove(10)
print(s.exists(10))
print(s.exists(20))
s = MySet()
s.add(10)
s.add(20)
s.add(10)
s.exists(10)
s.remove(10)
s.exists(10)
s.exists(20)
True
False
True