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

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

  • 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]范围内。
  • 不要使用内建的哈希集合库。
class MyHashSet {
private:int hash[1000000 + 5] = {0};
public:/** Initialize your data structure here. */MyHashSet() {}void add(int key) {if(hash[key] == 0)hash[key] = 1;}void remove(int key) {if(hash[key] == 1)hash[key] = 0;}/** Returns true if this set did not already contain the specified element */bool contains(int key) {if(hash[key] == 0)return false;return true;}
};

转载于:https://www.cnblogs.com/lMonster81/p/10433983.html

Leetcode705.Design HashSet设置哈希集合相关推荐

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

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

  2. C#LeetCode刷题之#705-设计哈希集合​​​​​​​(Design HashSet)

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

  3. 哈希集合——hashSet

    /**     哈希集合特点:存取顺序不确定,同一个哈希值的位置可以存放多个元素,                   哈希集合存放元素的时候是先判断哈希地址值:hashCode()是否相同,如果不同 ...

  4. LeetCode刷题记录13——705. Design HashSet(easy)

    LeetCode刷题记录13--705. Design HashSet(easy) 目录 LeetCode刷题记录13--705. Design HashSet(easy) 前言 题目 语言 思路 源 ...

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

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

  6. java hashset 源码_Java集合:HashSet的源码分析

    1 public class HashSet 2 extends AbstractSet 3 implements Set, Cloneable, java.io.Serializable 4{ 5 ...

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

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

  8. leetcode 705. 设计哈希集合

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

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

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

  10. LeetCode哈希表(哈希集合,哈希映射)

    文章目录 哈希表 1.原理 2.复杂度分析 题目&推荐列表 哈希集合的应用 0.常用解题模板 1.lc217 存在重复元素 2.lc136 只出现一次的数字 3.快乐数 哈希映射的应用 0.常 ...

最新文章

  1. Java - 网络编程(NetWork)
  2. Office365从销售说起——企业办公考虑重点
  3. Android 基本 Jackson Marshalling(serialize)/Unmarshalling(deserialize)
  4. 设计模式--观察者(Observer)模式
  5. 2019做的第一个艰难决定
  6. research paper for management science
  7. Confluence 6 升级完成后的检查
  8. eclipse 设置豆沙绿保护色,保护眼睛
  9. Asp.net在IIS6.0权限设置的问题,大牛进
  10. SQLyog笔记-CURRENT_TIMESTAMP在SQLyog的配置
  11. sqlplus登录、连接命令
  12. R.java文件无法自动生成的问题
  13. Android校园二手交易平台
  14. Java widget xui_XUI使用总结
  15. SequoiaDB 巨杉数据库产品下载
  16. Android自定义View(CustomCalendar-定制日历控件)
  17. 中国计量大学现代科技学院第四届“中竞杯”程序设计校赛(同步赛) F.爬塔(DP)
  18. 在ubuntu上解包RK3288固件
  19. 【转载】一个清华差生9年的北京实录
  20. 2011年9月30日

热门文章

  1. 分类算法学习(三)——逻辑回归算法的原理及简单实现
  2. 2021-08-10 C3P0连接池
  3. php必填参数校验,laravel请求参数校验方法
  4. BootStrapCSS样式和JS插件
  5. 如何证明NP-Hard Problems
  6. Kubernetes 小白学习笔记(16)--集群网络-pod网络、service网络
  7. Unity3D(二)游戏对象及组件
  8. php mysql网站入侵_第一篇:PHP+MySQL injection攻击:浅谈网页安全
  9. php和java访问中的一些区别
  10. L3-014 周游世界 (30分)