// 最长连续序列 set
// 输入:nums = [100,4,200,1,3,2]
// 输出:4
// 解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。
public static int longestConsecutive(int[] nums) {
Set<Integer> set=new HashSet<Integer>();
for(int num:nums) {
set.add(num);
}
int longest=0;
//双层循环便利每一个值到最后一个值
for(int num:set) {
//跳过统计过的值
if(!set.contains(num-1)) {
int cur=num;
int curlen=1;
//每一个值到最后都更新最大长度
while(set.contains(cur+1)) {
cur+=1;
curlen+=1;
}
longest=Math.max(longest, curlen);
}
}
return longest;
}