題目鏈結
題目描述
不使用任何內建的雜湊表庫設計乙個雜湊集合(hashset)。
實現 myhashset 類:
void add(key) 向雜湊集合中插入值 key 。
bool contains(key) 返回雜湊集合中是否存在這個值 key 。
void remove(key) 將給定值 key 從雜湊集合中刪除。如果雜湊集合中沒有這個值,什麼也不做。
示例:
輸入:
["myhashset", "add", "add", "contains", "contains", "add", "contains", "remove", "contains"]
[, [1], [2], [1], [3], [2], [2], [2], [2]]
輸出:[null, null, null, true, false, null, true, null, false]
解釋:myhashset myhashset = new myhashset();
myhashset.add(1); // set = [1]
myhashset.add(2); // set = [1, 2]
myhashset.contains(1); // 返回 true
myhashset.contains(3); // 返回 false ,(未找到)
myhashset.add(2); // set = [1, 2]
myhashset.contains(2); // 返回 true
myhashset.remove(2); // set = [1]
myhashset.contains(2); // 返回 false ,(已移除)
高階:你可以不使用內建的雜湊集合庫解決此問題嗎?
題目分析
根據題目描述設計hash map
把除以1001後的商相等的數放在同乙個vector中
**
class myhashset
void add(int key)
}hash.push_back();
}void remove(int key) else ++it;
}return;}}
}/** returns true if this set contains the specified element */
bool contains(int key) }}
return false;
}};/**
* 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);
*/
力扣705 設計雜湊集合(陣列實現雜湊)
力扣705.設計雜湊集合 陣列 不使用任何內建的雜湊表庫設計乙個雜湊集合 hashset 實現 myhashset 類 void add key 向雜湊集合中插入值 key bool contains key 返回雜湊集合中是否存在這個值 key void remove key 將給定值 key 從...
705 設計雜湊集合
不使用任何內建的雜湊表庫設計乙個雜湊集合 hashset 實現 myhashset 類 void add key 向雜湊集合中插入值 key bool contains key 返回雜湊集合中是否存在這個值 key void remove key 將給定值 key 從雜湊集合中刪除。如果雜湊集合中沒...
LeetCode 705 設計雜湊集合
問題描述 不使用任何內建的雜湊表庫設計乙個雜湊集合 具體地說,你的設計應該包含以下的功能 add value 向雜湊集合中插入乙個值。contains value 返回雜湊集合中是否存在這個值。remove value 將給定值從雜湊集合中刪除。如果雜湊集合中沒有這個值,什麼也不做。示例 myhas...