-
Notifications
You must be signed in to change notification settings - Fork 11
/
LongestConsecutive.java
41 lines (37 loc) · 1.08 KB
/
LongestConsecutive.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
41
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class LongestConsecutive {
public static int longestConsecutive(int[] nums) {
if (nums == null){
return 0;
}
Set<Integer> numSet = new HashSet<Integer>();
for (int num: nums){
numSet.add(num);
}
// Map<Integer,Integer> map = new HashMap<Integer ,Integer>();
int longSize = 0;
// for (int num :numSet){
// map.put(num,0);
// }
for (int num: numSet){
if (!numSet.contains(num-1)){
int curr = num ;
int size = 1;
while (numSet.contains(curr+1)){
curr += 1;
size +=1;
}
longSize = Math.max(longSize ,size);
}
}
return longSize;
}
public static void main(String[] args) {
int[] nums = new int[]{100,4,200,1,3,2};
int size = longestConsecutive(nums);
System.out.println(size);
}
}