不使用任何内建的哈希表库设计一个哈希集合(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 ,(已移除)

提示:

0 <= key <= 106
最多调用 104 次 add、remove 和 contains 。

解题思路

使用Boolean类型数组 hash【key】表示 key值是否存在

代码

   class MyHashSet {boolean[] hash;/** Initialize your data structure here. */public MyHashSet() {hash=new boolean[10000001];}public void add(int key) {hash[key]=true;}public void remove(int key) {hash[key]=false;}/** Returns true if this set contains the specified element */public boolean contains(int key) {return hash[key];}}/*** Your MyHashSet object will be instantiated and called as such:* MyHashSet obj = new MyHashSet();* obj.add(key);* obj.remove(key);* boolean param_3 = obj.contains(key);*/

leetcode 705. 设计哈希集合相关推荐

  1. 705. 设计哈希集合

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

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

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

  3. 705.设计哈希集合

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

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

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

  5. LeetCode(705)——设计哈希集合(JavaScript)

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

  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. mysql执行事务的语句_详解MySQL执行事务的语法和流程
  2. mysql自增主键到头了怎么办_自增主键用完了怎么办
  3. Spring发送带附件邮件
  4. 前端学习(1983)vue之电商管理系统电商系统之清空表格数据
  5. jar包导出无法显示图片或者音乐_如何制作图片视频短片,配上音乐闪耀朋友圈!...
  6. 阿里云服务器Debian11系统安装Linux宝塔面板 搭建WordPress个人博客
  7. havlenapetr ffmpeg的移植
  8. adpater里写toast_Android开发UI之Toast的使用
  9. 运动目标跟踪(八)--时空上下文(STC)跟踪原理
  10. BOM之history
  11. 『Windows Builder』Java Swing期末课设神器
  12. SODB RBSP EBSP的区别
  13. InDesign转曲字体 导出PDF的技巧
  14. 小程序超过2M限制的方法——分包加载
  15. NameError: name ‘xxx‘ is not defined问题总结
  16. java里的if语句怎么写_Java中的if怎么用?
  17. 《Linux C编程环境》 课程大实验 及近期练习题:计算器,复写机,目录树创建,批处理执行器,扫雷
  18. 使用Nginx反向代理豆瓣Api电影接口(解决微信小程序频繁调用api被关小黑屋)
  19. IT、TT、TN系统,你真的了解吗?
  20. c语言switch逻辑用语,第一章 第二节用逻辑用语.doc

热门文章

  1. html css 核心设计理念
  2. 线程间通信————同步
  3. Java开发热门前沿知识!成功从小公司跳槽进蚂蚁定级P6
  4. wget命令下载文件
  5. 初识virtual memory
  6. C#心得与经验(二)
  7. java 数组的拷贝 对象数组的拷贝 System.arraycopy函数
  8. unity5.4.3p2里面的AssetBundle打包流程
  9. Win7下如何挂载NFS共享目录
  10. 文件系统管理 之 文件和目录访问权限设置