zoukankan      html  css  js  c++  java
  • Java实现 LeetCode 705 设计哈希集合(使用数组保存有没有被用过)

    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);
     */
    
  • 相关阅读:
    【u026】花园(garden)
    【BZOJ 1040】[ZJOI2008]骑士
    【t100】汤姆斯的天堂梦
    【BZOJ 1038】[ZJOI2008]瞭望塔
    【t096】树的序号
    Java Web整合开发(82)
    2 HTML解析
    T3186 队列练习2 codevs
    T3185 队列练习1 codevs
    T1191 数轴染色 codevs
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13074777.html
Copyright © 2011-2022 走看看