• Leetcode 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 <= 10^6
    • 最多调用 10^4 次 add、remove 和 contains

    Code:

    class MyHashSet {
    public:
        MyHashSet() {
    
        }
        
        void add(int key) {
            int cnt=count(vec.begin(),vec.end(),key);
            if(!cnt)
            vec.push_back(key);
        }
        
        void remove(int key) {
            vector<int>::iterator it=find(vec.begin(),vec.end(),key);
            if(it!=vec.end())
            {
                vec[it-vec.begin()]=-1;
            }
    
        }
        
        bool contains(int key) {
         
            return count(vec.begin(),vec.end(),key)!=0;
        }
        private:
        vector<int>vec;
    };
    
    /**
     * Your MyHashSet object will be instantiated and called as such:
     * MyHashSet* obj = new MyHashSet();
     * obj->add(key);
     * obj->remove(key);
     * bool param_3 = obj->contains(key);
     */
    
  • 相关阅读:
    android11——Material Design
    android10——Internet
    Andrid09——Service
    Android08——MultiMedia
    Android07——ContentProvider
    Android06——Persistence
    <转>汇编源码调试
    编程中我犯过的错误一
    中国社会9大阶层划分,看看你在哪一层?
    汇编中如果汇编和调用API混合用的话要注意Pushad popad
  • 原文地址:https://www.cnblogs.com/xiaohai123/p/16418285.html
Copyright © 2020-2023  润新知