wordpress+相册+时间轴,粤语seo是什么意思,春节期间西安有什么好玩的,米东区做网站#x1f680; 算法题 #x1f680; #x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 #x1f340; #x1f332; 越难的东西,越要努力坚持#xff0c;因为它具有很高的价值#xff0c;算法就是这样✨ #x1f332; 作者简介#xff1a;硕风和炜#xff0c;… 算法题 算法刷题专栏 | 面试必备算法 | 面试高频算法 越难的东西,越要努力坚持因为它具有很高的价值算法就是这样✨ 作者简介硕风和炜CSDN-Java领域优质创作者保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享 恭喜你发现一枚宝藏博主,赶快收入囊中吧 人生如棋我愿为卒行动虽慢可谁曾见我后退一步 算法题 目录 题目链接⛲ 题目描述 求解思路实现代码运行结果⚡ 数据结构设计 求解思路 实现代码 运行结果 共勉 题目链接
705. 设计哈希集合
⛲ 题目描述
不使用任何内建的哈希表库设计一个哈希集合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 求解思路实现代码运行结果 ⚡ 数据结构设计 求解思路
该题目解法比较多样但是比较规范且常规的写法还是通过链表来做并且有相应的hash处理函数。有了基本的思路接下来我们就来通过代码来实现一下。 实现代码
class MyHashSet {private ArrayListInteger list;public MyHashSet() {list new ArrayList();}public void add(int key) {if (!list.contains(key))list.add(key);}public void remove(int key) {list.remove((Object) key);}public boolean contains(int key) {return list.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);*/运行结果 共勉
最后我想和大家分享一句一直激励我的座右铭希望可以与大家共勉