Java实现 LeetCode 705 设计哈希集合(使用数组保存有没有被用过)
2024-10-16 01:41:28
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);
*/
最新文章
- 玩转Redis之Window安装使用(干货)
- poj 3680 Intervals
- Android系统的架构
- ZOJ1111:Poker Hands(模拟题)
- java String 两种不同的赋值 比较
- RecyclerView一个奇怪的npe异常
- 武汉科技大学ACM :1008: A+B for Input-Output Practice (VIII)
- RTX51 Tiny实时操作系统学习笔记—初识RTX51 Tiny
- win7安装iis及web配置教程
- Python图片爬虫
- Python类方法、静态方法与实例方法
- MySQL Index Merge Optimization
- 2018-12-03 VS Code英汉词典插件v0.0.7-尝试词性搭配
- c/c++ 类模板初探
- 第一章 Html+Css使用总结(下)
- Android交流会-碎片Fragment,闲聊单位与尺寸
- Beta 冲刺 三
- .net 生成html文件后压缩成zip文件并下载
- IE8及以下浏览器伪数组slice方法兼容处理
- C++复合类型(数组)