方法:排序
class Solution {
public int longestConsecutive(int[] nums) {
if(nums.length==0){
return 0;
}
int index=1; //记录每个连续序列长度
Arrays.sort(nums); //数组排序
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < nums.length-1; i++) {
//当数组元素连续,index+1
if(nums[i]+1==nums[i+1]){
index++;
}else if(nums[i]==nums[i+1]){ //重复元素跳过此次循环
continue;
}else {
//记录此次连续长度,并重置index,用于记录下一个连续序列
list.add(index);
index=1;
}
}
//找出最大index
for(int k:list){
if(index<k){
index=k;
}
}
return index;
}
}