1 public class Solution {
2 public int longestConsecutive(int[] num) {
3 // IMPORTANT: Please reset any member data you declared, as
4 // the same Solution instance will be reused for each test case.
5 int len = num.length;
6 if(len < 0)
7 return 0;
8 Map<Integer, Integer > table = new HashMap<Integer,Integer>();
9 int[] visit = new int[len];
10 for(int i: visit)
11 i = 0;
12 for(int i = 0; i < num.length;i++)
13 {
14 table.put(num[i], i);
15
16 }
17 int result = 1;
18 for(int i=0; i<len;i++)
19 {
20 int count = 1;
21 if(visit[i] == 0)
22 {
23 int tmp = num[i];
24 while(table.containsKey(--tmp))
25 {
26 count ++ ;
27 visit[table.get(tmp)] = 1;
28 }
29 tmp = num[i];
30 while(table.containsKey(++tmp))
31 {
32 count ++;
33 visit[table.get(tmp)] = 1;
34 }
35 if(count > result)
36 result = count;
37 }
38 }
39 return result;
40
41 }
42 }