哈希思想
public int longestConsecutive(int[] nums){
//1、去重
Set<Integer> num_set = new HashSet();
for(int num : nums ){
num_set.add(num);
}
int longestConsecutive = 0;
//2、从一个方向
for(int num : num_set){
if(!num_set.contains(num-1)){
int currentNum = num;
int currentStreak = 1;
while(num_set.contains(currentNum+1)){
currentNum+=1;
currentStreak+=1;
}
longestConsecutive = Math.max(longestConsecutive,currentStreak);
}
}
return longestConsecutive;
}