不使用任何內建的雜湊表庫設計乙個雜湊集合
具體地說,你的設計應該包含以下的功能
myhashset hashset = new myhashset();
hashset.add(1);
hashset.add(2);
hashset.contains(1); // 返回 true
hashset.contains(3); // 返回 false (未找到)
hashset.add(2);
hashset.contains(2); // 返回 true
hashset.remove(2);
hashset.contains(2); // 返回 false (已經被刪除)
注意:
雜湊函式使用取模法,衝突解決方法採用鏈位址法。詳細過程見**
class
myhashset};
vector> dataset;
//維持大小為100的儲存位址,採用鏈位址法解決衝突
int len =
100;
/** initialize your data structure here. */
myhashset()
void
add(
int key)
else
now-
>next =
newnode
(key);}
}void
remove
(int key)
else
now-
>next = now-
>next-
>next;}}
/** returns true if this set contains the specified element */
bool
contains
(int key)
return now!=
null;}
};/** * your myhashset object will be instantiated and called as such:
* myhashset* obj = new myhashset();
* obj->add(key);
* obj->remove(key);
* bool 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 從雜湊集合中刪除。如果雜湊集合中沒...
每日一題 Leetcode705 設計雜湊集合
今天的每日一題是leetcode705.設計雜湊集合,題意如下 不使用任何內建的雜湊表庫設計乙個雜湊集合 hashset 實現 myhashset 類 void add key 向雜湊集合中插入值 key bool contains key 返回雜湊集合中是否存在這個值 key void remov...