[LeetCode javaScript] 705. 設計雜湊集合
阿新 • • 發佈:2019-01-11
不使用任何內建的雜湊表庫設計一個雜湊集合
具體地說,你的設計應該包含以下的功能
add(value):向雜湊集合中插入一個值。
contains(value) :返回雜湊集合中是否存在這個值。
remove(value):將給定值從雜湊集合中刪除。如果雜湊集合中沒有這個值,什麼也不做。
示例:
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 (已經被刪除)
注意:
所有的值都在 [1, 1000000]的範圍內。
操作的總數目在[1, 10000]範圍內。
不要使用內建的雜湊集合庫。
/** * Initialize your data structure here. */ var MyHashSet = function() { this.dataset=[]; }; /** * @param {number} key * @return {void} */ MyHashSet.prototype.add = function(key) { this.dataset[key]=true; }; /** * @param {number} key * @return {void} */ MyHashSet.prototype.remove = function(key) { this.dataset[key]=false; }; /** * Returns true if this set contains the specified element * @param {number} key * @return {boolean} */ MyHashSet.prototype.contains = function(key) { return this.dataset[key]==true; }; /** * Your MyHashSet object will be instantiated and called as such: * var obj = Object.create(MyHashSet).createNew() * obj.add(key) * obj.remove(key) * var param_3 = obj.contains(key) */