705. 设计哈希集合

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

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

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 (已经被删除)

注意:

所有的值都在 [0, 1000000]的范围内。

操作的总数目在[1, 10000]范围内。

不要使用内建的哈希集合库。

class MyHashSet {

   boolean[] flag;

    /** Initialize your data structure here. */
public MyHashSet() {
flag=new boolean[1000001];
} public void add(int key) {
flag[key]=true;
} public void remove(int key) {
flag[key]=false;
} /** Returns true if this set contains the specified element */
public boolean contains(int key) {
return flag[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);
*/

最新文章

  1. 玩转Redis之Window安装使用(干货)
  2. poj 3680 Intervals
  3. Android系统的架构
  4. ZOJ1111:Poker Hands(模拟题)
  5. java String 两种不同的赋值 比较
  6. RecyclerView一个奇怪的npe异常
  7. 武汉科技大学ACM :1008: A+B for Input-Output Practice (VIII)
  8. RTX51 Tiny实时操作系统学习笔记—初识RTX51 Tiny
  9. win7安装iis及web配置教程
  10. Python图片爬虫
  11. Python类方法、静态方法与实例方法
  12. MySQL Index Merge Optimization
  13. 2018-12-03 VS Code英汉词典插件v0.0.7-尝试词性搭配
  14. c/c++ 类模板初探
  15. 第一章 Html+Css使用总结(下)
  16. Android交流会-碎片Fragment,闲聊单位与尺寸
  17. Beta 冲刺 三
  18. .net 生成html文件后压缩成zip文件并下载
  19. IE8及以下浏览器伪数组slice方法兼容处理
  20. C++复合类型(数组)

热门文章

  1. 【MySQL基础总结】运算符的使用
  2. [hdu]5202
  3. Mysql常用sql语句(20)- 子查询重点知识
  4. mysql批量修改
  5. sqli-labs之Page-2
  6. JavaWeb学习之JSP(二) JSP标签
  7. es7,8 临门一脚。
  8. ql的python学习之路-day3
  9. 「雕爷学编程」Arduino动手做(30)——光敏二极管模块
  10. Java 中的过滤器Filter 和拦截器 Interceptor