zoukankan      html  css  js  c++  java
  • leetcode_705

    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.

    Solution1:

    获得的经验

    1 。 remove(self, value)参数是value 2   pop(self, index=None)参数是index

    2. hashset hash是没有重复的元素的因为要hash

    class MyHashSet(object):
    
        def __init__(self):
            """
            Initialize your data structure here.
            """
            self.list = []
    
        def add(self, key):
            """
            :type key: int
            :rtype: void
            """
            if key not in self.list:
                self.list.append(key)
        def remove(self, key):
            """
            :type key: int
            :rtype: void
            """
            if key in self.list:
                self.list.remove(key)
    
        def contains(self, key):
            """
            Returns true if this set contains the specified element
            :type key: int
            :rtype: bool
            """
            return key in self.list
    
    # Your MyHashSet object will be instantiated and called as such:
    # obj = MyHashSet()
    # obj.add(key)
    # obj.remove(key)
    # param_3 = obj.contains(key)
  • 相关阅读:
    15、编写ORM
    14、细说协程
    COOKIE欺骗
    聪明的小羊
    re.S函数 python3
    截断上传
    sql百态01-post
    Why not?
    随机字符的本地爆破
    HTTP协议-请求头,响应头
  • 原文地址:https://www.cnblogs.com/francischeng/p/9747217.html
Copyright © 2011-2022 走看看