题目:

思路:


也就是要维护一个二维动态数组来存储这些数据,要注意的是LinkedList中有三种remove()方法

默认使用的是根据索引来移除元素
因此这时,我们要把每个函数的形参都设置为Integer型,这样子就可直接根据元素值对表进行操作

代码:

class MyHashSet {Bucket[] bucket_array;int keyRange;/** Initialize your data structure here. */public MyHashSet() {keyRange = 769;this.bucket_array = new Bucket[keyRange];for(int i = 0;i < keyRange;i++){this.bucket_array[i] = new Bucket();}}public void add(int key) {this.bucket_array[key%this.keyRange].add(key);}public void remove(int key) {this.bucket_array[key%this.keyRange].remove(key);}/** Returns true if this set contains the specified element */public boolean contains(int key) {return this.bucket_array[key%this.keyRange].contains(key);}
}class Bucket{LinkedList<Integer> bucket;public Bucket(){this.bucket = new LinkedList<Integer>();}public void add(Integer key) {if(!this.bucket.contains(key))this.bucket.add(key);}public void remove(Integer key) {this.bucket.remove(key);}/** Returns true if this set contains the specified element */public boolean contains(Integer key) {return this.bucket.contains(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);*/

复杂度分析:还不懂

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

  1. 705. 设计哈希集合

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

  2. leetcode 705. 设计哈希集合

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

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

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

  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. C#LeetCode刷题之#705-设计哈希集合​​​​​​​(Design HashSet)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4114 访问. 不使用任何内建的哈希表库设计一个哈希集合 具体地说 ...

  9. 【哈希表】(一) 设计哈希表

    目录 一.设计哈希表 二.设计哈希表的关键 三.设计哈希集合 3.1 题目要求 3.2 解决过程 四.设计哈希映射 4.1 题目要求 4.2 解决过程 五.设计哈希表 - 解决方案 六.复杂度分析 - ...

最新文章

  1. [20170914]tnsnames.ora的管理.txt
  2. 【干货】数据分析规范总结!
  3. 我国对计算机信息系统安全主要是采取,附录信息网络安全监察法规概述二.doc...
  4. 【ArcGIS风暴】最牛逼空间数据批处理神器来了:用户自定义工具箱GeoStorm.tbx
  5. 抽象类的成员特点 学习笔记
  6. 解读戴尔,惠普和思科的“三角关系”
  7. 【项目】STC15W408AS--烧写、数码管、按键、串口通信、ADC
  8. 帧数达不到144用144hz_专业FPS玩家讲解:60Hz与144Hz刷新率的问题
  9. MATLAB小波图像融合处理
  10. 1987年国际C语言混乱代码大赛获奖的一行代码
  11. 自编译最新稳定版 128M NAND WNDR4300V1 Openwrt Lean固件
  12. LoRaWAN介绍15 终端设计
  13. Java编程——杨辉三角(一)
  14. C++学习(一二零)数据中心 云计算 大数据的概念
  15. win10删除历史壁纸记录
  16. 戴尔服务器安装独显后无显示,在T630服务器上安装了独立显卡,重启后液晶面板显示“pci1318 fatal error on bus 128d”,然后黑屏重启,该问题如何解决阿。...
  17. windows下的ubuntu盘符问题
  18. 如何从公网访问本地的Zeus?
  19. ArcGIS加载高德、OSM和谷歌等地图
  20. 基于Spring Boot+Shiro+Thymeleaf+MyBatis支付系统+微信商城 源码

热门文章

  1. 运行rf2o_laser_odometry时出现错误
  2. python constrain_python约束 – 约束金额
  3. 2013年IT审计师认证的详细资料
  4. 预告 | 从单点工具到平台,默安科技研发安全一体化管理平台即将发布
  5. promethues+alertmanager+grafana监控docker容器和报警—基于手动配置和文件自动发现—详细文档
  6. 10亿个IP地址排序、10亿年龄排序
  7. 中国丝光棉市场产销需求及未来前景趋势预测报告(2022-2027年)
  8. java 案例写作_用Java编写一个银行转账案例
  9. 博文视点官方博客已经开通!
  10. java 串讲_Java知识串讲