Design HashSet LeetCode solution in Java

1
class MyHashSet {
2
ArrayList<LinkedList<Integer>> list;
3
int size = 100;
4

5
public MyHashSet() {
6
list = new ArrayList<>(size);
7
for (int i = 0; i < size; i++) {
8
list.add(new LinkedList<Integer>());
9
}
10
}
11

12
public int hash(int key) {
13
return key % list.size();
14
}
15

16
public int search(int key) {
17
int i = hash(key);
18

19
LinkedList<Integer> temp = list.get(i);
20
int ans = -1;
21

22
for (int j = 0; j < temp.size(); j++) {
23
if (key == temp.get(j)) {
24
return j;
25
}
26
}
27
return ans;
28
}
29

30
public void add(int key) {
31
if (search(key) == -1) {
32
int i = hash(key);
33
list.get(i).add(key);
34
}
35
}
36

37
public void remove(int key) {
38
if (search(key) != -1) {
39
int i = hash(key);
40
list.get(i).remove(Integer.valueOf(key));
41
}
42
}
43

44
public boolean contains(int key) {
45
return search(key) != -1;
46
}
47
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0