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

具体地说,你的设计应该包含以下的功能

  • 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() {};/** * @param {number} key* @return {void}*/
MyHashSet.prototype.add = function(key) {};/** * @param {number} key* @return {void}*/
MyHashSet.prototype.remove = function(key) {};/*** Returns true if this set contains the specified element * @param {number} key* @return {boolean}*/
MyHashSet.prototype.contains = function(key) {};/** * Your MyHashSet object will be instantiated and called as such:* var obj = new MyHashSet()* obj.add(key)* obj.remove(key)* var param_3 = obj.contains(key)*/

个人解法

var MyHashSet = function() {this.hashSet = {};
};MyHashSet.prototype.add = function(key) {this.hashSet[key] = key;
};MyHashSet.prototype.remove = function(key) {delete this.hashSet[key];
};MyHashSet.prototype.contains = function(key) {if(this.hashSet[key] === undefined){return false;}else{return true;}
};

LeetCode(705)——设计哈希集合(JavaScript)相关推荐

  1. leetcode 705. 设计哈希集合

    不使用任何内建的哈希表库设计一个哈希集合(HashSet). 实现 MyHashSet 类: void add(key) 向哈希集合中插入值 key . bool contains(key) 返回哈希 ...

  2. 705. 设计哈希集合

    链接:705. 设计哈希集合 题解:https://leetcode-cn.com/problems/design-hashset/solution/she-ji-ha-xi-ji-he-by-lee ...

  3. 力扣题目——705. 设计哈希集合

    注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路. 描述 不使用任何内建的哈希表库设计一个哈希集合(HashSet). 实现 MyHa ...

  4. 705.设计哈希集合

    题目: 思路: 也就是要维护一个二维动态数组来存储这些数据,要注意的是LinkedList中有三种remove()方法 默认使用的是根据索引来移除元素 因此这时,我们要把每个函数的形参都设置为Inte ...

  5. 算法--------设计哈希集合

    设计哈希集合 不使用任何内建的哈希表库设计一个哈希集合具体地说,你的设计应该包含以下的功能add(value):向哈希集合中插入一个值. contains(value) :返回哈希集合中是否存在这个值 ...

  6. LeetCode 705. Design HashSet (设计哈希集合)

    题目标签:HashMap 题目让我们设计一个 hashset,有add,contains,remove 功能. 建立一个boolean array,index 是数字的值,具体看code. Java ...

  7. 刷leetcode第705题- 设计哈希集合

    2019独角兽企业重金招聘Python工程师标准>>> 这个我可能做的不是很符合题意,虽然AC了,但是没有去用到hash函数之类的方式.同样使用了位运算来搞定这一切,简单易懂.上代码 ...

  8. leetcode 706. 设计哈希映射

    不使用任何内建的哈希表库设计一个哈希映射(HashMap). 实现 MyHashMap 类: MyHashMap() 用空映射初始化对象 void put(int key, int value) 向 ...

  9. C#LeetCode刷题-哈希表

    哈希表篇 # 题名 刷题 通过率 难度 1 两数之和 C#LeetCode刷题之#1-两数之和(Two Sum) 42.8% 简单 3 无重复字符的最长子串   24.2% 中等 18 四数之和   ...

最新文章

  1. python功能强大的库_2018 年最受欢迎的15个顶级 Python 库
  2. oracle 11g中密码过期问题
  3. tensorflow 加载模型
  4. jquery toggle方法使用出错?请看这里-遁地龙卷风
  5. 你竟然没用 Nuget 构建项目?
  6. 辐射避难所服务器维护,《辐射:避难所Online》6月2日停服维护更新公告
  7. 51NOD 1088 最长回文子串1089 最长回文子串 V2(Manacher算法)
  8. idea抽取重复方法快捷键_使用 IDEA 几分钟就重构了同事800 行quot;又臭又长quot; 的类!真香!...
  9. winexec函数 执行powershell 脚本_丢掉 Powershell.exe 来渗透测试
  10. mysql不同字符集_如何在mysql中设置不同的字符集
  11. java uuid 随机生成唯一序列号
  12. ggplot2作图详解:标尺(scale)设置
  13. 谭晓生:如何面对IoT时代的安全新挑战?
  14. 土豆英雄抽传说卡程序(非土豆英雄玩家不要看)
  15. 安装protoc教程
  16. 软件工程——团队作业4
  17. 32位汇编语言程序设计(钱晓捷) 高清完整
  18. matlab拟合度R方,...1),问题是什么是拟合优度?、R^2大于多少说明拟合度很好,R^2在...-拟合度-数学-冀群是同学...
  19. wincc项目 CS结构 ES工程师站下装到OS服务器失败或者特别慢的原因
  20. 33个CadQuery程序化建模实例

热门文章

  1. c程序100例第3题
  2. 通过命令行工具使用阿里云资源编排服务
  3. 《机器学习系统设计:Python语言实现》一2.2 IPython控制台
  4. tomcat运行模式(bio,aio,apr)
  5. Spring工作原理详解
  6. ueditor样式过滤问题
  7. 浅谈移动Web开发(上):深入概念
  8. Android设置无title报错
  9. 《大话设计模式》第29章-OOTV杯超级模式大赛—模式总结(五)
  10. Hibernate初步