zoukankan      html  css  js  c++  java
  • 0705. Design HashSet (E)

    Design HashSet (E)

    题目

    Design a HashSet without using any built-in hash table libraries.

    To be specific, your design should include these functions:

    • add(value): Insert a value into the HashSet.
    • contains(value) : Return whether the value exists in the HashSet or not.
    • remove(value): Remove a value in the HashSet. If the value does not exist in the HashSet, do nothing.

    Example:

    MyHashSet hashSet = new MyHashSet();
    hashSet.add(1);         
    hashSet.add(2);         
    hashSet.contains(1);    // returns true
    hashSet.contains(3);    // returns false (not found)
    hashSet.add(2);          
    hashSet.contains(2);    // returns true
    hashSet.remove(2);          
    hashSet.contains(2);    // returns false (already removed)
    

    Note:

    • All values will be in the range of [0, 1000000].
    • The number of operations will be in the range of [1, 10000].
    • Please do not use the built-in HashSet library.

    题意

    实现一个只有add、contains、remove三个方法的HashSet。

    思路

    直接开一个boolean数组进行hash。


    代码实现

    Java

    class MyHashSet {
        private boolean[] hash;
    
        /** Initialize your data structure here. */
        public MyHashSet() {
            hash = new boolean[1000001];
        }
    
        public void add(int key) {
            hash[key] = true;
        }
    
        public void remove(int key) {
            hash[key] = false;
        }
    
        /** Returns true if this set contains the specified element */
        public boolean contains(int key) {
            return hash[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);
     */
    
  • 相关阅读:
    clickhouse-(04)-常用高阶函数
    clickhouse-(03)-库和表引擎
    clickhouse-(02)-适合的场景
    clickhouse-(01)-安装
    MySQL实战45讲-笔记
    Linux软连接和硬链接
    直接访问和间接访问
    指针和地址的区别
    配置Apache 运行CGI---------笔记
    配置Apache 运行CGI
  • 原文地址:https://www.cnblogs.com/mapoos/p/13424291.html
Copyright © 2011-2022 走看看