• 力扣705-设计哈希集合


    原题 :https://leetcode-cn.com/problems/design-hashset/

    不使用任何内建的哈希表库设计一个哈希集合(HashSet)。

    实现 MyHashSet 类:

    void add(key) 向哈希集合中插入值 key 。
    bool contains(key) 返回哈希集合中是否存在这个值 key 。
    void remove(key) 将给定值 key 从哈希集合中删除。如果哈希集合中没有这个值,什么也不做。



    个人理解

      同力扣706  https://www.cnblogs.com/wang102030/p/14533987.html

    class MyHashSet:

        def __init__(self):
            """
            Initialize your data structure here.
            """
            self.buckets = 1009
            self.table = [ [] for _ in range(self.buckets) ]

        def hash(self,key):
            return key % self.buckets 

        def add(self, key: int) -> None:
            hashkey = self.hash(key)
            for item in  self.table[hashkey]:
                if item == key:
                    return
            self.table[hashkey].append(key)

        def remove(self, key: int) -> None:
            hashkey = self.hash(key)
            for i, item in enumerate(self.table[hashkey]):
                if item == key:
                    self.table[hashkey].pop(i)
                    return

        def contains(self, key: int) -> bool:
            """
            Returns true if this set contains the specified element
            """
            hashkey = self.hash(key)
            for item in self.table[hashkey]:
                if item == key:
                    return True
            return False
  • 相关阅读:
    正则表达式 1
    14 同步 1
    14 线程属性
    14 线程状态
    14 线程
    window.location.hostname与 window.location.host 区别
    泛型 的通配符类型 extends super
    svn拷贝一个项目作为新项目
    List Collections sort
    && 和 || 逻辑运算符
  • 原文地址:https://www.cnblogs.com/wang102030/p/14534130.html
Copyright © 2020-2023  润新知