其他分享
首页 > 其他分享> > 力扣705-设计哈希集合

力扣705-设计哈希集合

作者:互联网

原题 :https://leetcode-cn.com/problems/design-hashset/

不使用任何内建的哈希表库设计一个哈希集合(HashSet)。

实现 MyHashSet 类:

void add(key) 向哈希集合中插入值 key 。
bool contains(key) 返回哈希集合中是否存在这个值 key 。
void remove(key) 将给定值 key 从哈希集合中删除。如果哈希集合中没有这个值,什么也不做。



 

个人理解

  同力扣706  https://www.cnblogs.com/wang102030/p/14533987.html

class MyHashSet:
    def __init__(self):         """         Initialize your data structure here.         """         self.buckets = 1009         self.table = [ [] for _ in range(self.buckets) ]
    def hash(self,key):         return key % self.buckets 
    def add(self, key: int) -> None:         hashkey = self.hash(key)         for item in  self.table[hashkey]:             if item == key:                 return         self.table[hashkey].append(key)
    def remove(self, key: int) -> None:         hashkey = self.hash(key)         for i, item in enumerate(self.table[hashkey]):             if item == key:                 self.table[hashkey].pop(i)                 return
    def contains(self, key: int) -> bool:         """         Returns true if this set contains the specified element         """         hashkey = self.hash(key)         for item in self.table[hashkey]:             if item == key:                 return True         return False

 

标签:哈希,705,self,力扣,item,hashkey,key,table
来源: https://www.cnblogs.com/wang102030/p/14534130.html