专栏首页SnailTyanLeetcode 705. Design HashSet

Leetcode 705. Design HashSet

文章作者:Tyan 博客:noahsnail.com | CSDN | 简书

1. Description

2. Solution

  • Version 1
class MyHashSet:

    def __init__(self):
        self.hashset  = []


    def add(self, key: int) -> None:
        if key not in self.hashset:
            self.hashset.append(key)


    def remove(self, key: int) -> None:
        if key in self.hashset:
            self.hashset.remove(key)


    def contains(self, key: int) -> bool:
        if key in self.hashset:
            return True
        return False
  • Version 2
class MyHashSet:
    def __init__(self):
        self.hashset  = [False] * 1000001


    def add(self, key: int) -> None:
        self.hashset[key] = True


    def remove(self, key: int) -> None:
        self.hashset[key] = False


    def contains(self, key: int) -> bool:
        return self.hashset[key]
  • Version 3
class MyHashSet:

    def __init__(self):
        self.hashset  = [[] for _ in range(1000)] 


    def add(self, key: int) -> None:
        index = self.hash(key)
        if key not in self.hashset[index]:
            self.hashset[index].append(key)


    def remove(self, key: int) -> None:
        index = self.hash(key)
        if key in self.hashset[index]:
            self.hashset[index].remove(key)


    def contains(self, key: int) -> bool:
        index = self.hash(key)
        return key in self.hashset[index]


    def hash(self, key):
        return key % 1000

Reference

  1. https://leetcode.com/problems/design-hashset/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LeetCode 705:设计哈希集合 Design HashSet

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

    爱写bug
  • Golang Leetcode 705. Design HashSet.go

    https://blog.csdn.net/anakinsun/article/details/89331198

    anakinsun
  • 【设计数据结构】面试官:请设计一个简单的 HashSet ...

    由于题目给出了 0 <= key <= 10^6 数据范围,同时限定了 key 只能是 int。

    宫水三叶的刷题日记
  • [Leetcode 2021 刷题计划] 705. 设计哈希集合

    解题思路: 题目中给出 key 的范围, 因此可以利用大于 10^6 的数据进行解题。

    windism
  • 算法细节系列(30):接口设计

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    用户1147447
  • Python3刷题系列(十)

    用户5473628
  • ​LeetCode刷题实战36: 有效的数独

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就...

    程序IT圈
  • LeetCode Weekly Contest 46解题思路

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    用户1147447
  • LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之三:

    版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boli...

    程序员欣宸

扫码关注云+社区

领取腾讯云代金券