-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsingle_number.java
40 lines (38 loc) · 1.31 KB
/
single_number.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//Runtime: 21 ms, faster than 22.14% of Java online submissions for Single Number.
//Memory Usage: 53.4 MB, less than 24.58% of Java online submissions for Single Number.
class Solution {
HashSet<Integer> singleNumber = new HashSet<Integer>();
public int singleNumber(int[] nums) {
for(int i = 0; i < nums.length;i++){
if(singleNumber.contains(nums[i])){
singleNumber.remove(nums[i]);
}else{
singleNumber.add(nums[i]);
}
}
for(Integer iter: singleNumber){
return iter;
}
return -1;
}
}
//Runtime: 41 ms, faster than 8.87% of Java online submissions for Single Number.
//Memory Usage: 53.7 MB, less than 23.31% of Java online submissions for Single Number.
class Solution {
HashSet<Integer> singleNumber = new HashSet<Integer>();
public int singleNumber(int[] nums) {
for(int i = 0; i < nums.length;i++){
if(singleNumber.size() == 0){
singleNumber.add(nums[i]);
}else if(singleNumber.contains(nums[i])){
singleNumber.remove(nums[i]);
}else{
singleNumber.add(nums[i]);
}
}
for(Integer iter: singleNumber){
return iter;
}
return 0;
}
}