解法一:大陣列
一開始想到的解法就是預存乙個大陣列,然後往裡加就行。利用了桶的思想。
注意:可能輸入資料較小,在leetcode提交中n開的小一點會快很多。
下列是對整數的雜湊存法,如果需要擴容,需要重新建乙個更大鄰接表,再重新插入所有元素。
class
myhashset
:def
__init__
(self)
:"""
initialize your data structure here.
"""self.n =
130000
self.l =[[
]for _ in
range
(self.n)
]def
add(self, key:
int)
->
none:if
not self.contains(key)
: self.l[key%self.n]
defremove
(self, key:
int)
->
none
:if self.contains(key)
: self.l[key%self.n]
.remove(key)
defcontains
(self, key:
int)
->
bool
:"""
returns true if this set contains the specified element
"""if key in self.l[key%self.n]
:return
true
return
false
# your myhashset object will be instantiated and called as such:
# obj = myhashset()
# obj.add(key)
# obj.remove(key)
# param_3 = obj.contains(key)
LeetCode 705 設計雜湊集合
問題描述 不使用任何內建的雜湊表庫設計乙個雜湊集合 具體地說,你的設計應該包含以下的功能 add value 向雜湊集合中插入乙個值。contains value 返回雜湊集合中是否存在這個值。remove value 將給定值從雜湊集合中刪除。如果雜湊集合中沒有這個值,什麼也不做。示例 myhas...
leetcode 705 設計雜湊集合
不使用任何內建的雜湊表庫設計乙個雜湊集合 hashset 實現 myhashset 類 void add key 向雜湊集合中插入值 key bool contains key 返回雜湊集合中是否存在這個值 key void remove key 將給定值 key 從雜湊集合中刪除。如果雜湊集合中沒...
Leetcode 705 設計雜湊集合 C
不使用任何內建的雜湊表庫設計乙個雜湊集合 具體地說,你的設計應該包含以下的功能 myhashset hashset new myhashset hashset.add 1 hashset.add 2 hashset.contains 1 返回 true hashset.contains 3 返回 f...