【Leetcode】705. Design HashSet

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.

1 初始化一个长度为1000001的array,初始化值为False。为什么是10000001?因为key属于[0, 1000000],为了保证每个key都可以加入到set中去;为什么初始化成False?因为题目要求的操作要么是返回True,要么是返回False。跟设计hashMap一样,那个是找不到返回-1,所以就初始化为-1

2 是让我们建立一个hashSet,所以我们不能调用build-in set()函数,只能初始化一个array

3 使用key来当做index,key存不存在用True和False来表示

4 设计add函数时,就把index为key的地方设置成True就行了

5 remove的话,就把相应index为key的地方置成False就行了

你可能感兴趣的:(【Leetcode】705. Design HashSet)