All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0701_0800.s0705_design_hashset.readme.md Maven / Gradle / Ivy

There is a newer version: 1.28
Show newest version
705\. Design HashSet

Easy

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

Implement `MyHashSet` class:

*   `void add(key)` Inserts the value `key` into the HashSet.
*   `bool contains(key)` Returns whether the value `key` exists in the HashSet or not.
*   `void remove(key)` Removes the value `key` in the HashSet. If `key` does not exist in the HashSet, do nothing.

**Example 1:**

**Input**

    ["MyHashSet", "add", "add", "contains", "contains", "add", "contains", "remove", "contains"]
    [[], [1], [2], [1], [3], [2], [2], [2], [2]]

**Output:** [null, null, null, true, false, null, true, null, false]

**Explanation:**

    MyHashSet myHashSet = new MyHashSet(); 
    myHashSet.add(1); // set = [1] 
    myHashSet.add(2); // set = [1, 2] 
    myHashSet.contains(1); // return True 
    myHashSet.contains(3); // return False, (not found) 
    myHashSet.add(2); // set = [1, 2] 
    myHashSet.contains(2); // return True 
    myHashSet.remove(2); // set = [1] 
    myHashSet.contains(2); // return False, (already removed)

**Constraints:**

*   0 <= key <= 106
*   At most 104 calls will be made to `add`, `remove`, and `contains`.




© 2015 - 2024 Weber Informatics LLC | Privacy Policy