思路:首先就是排序,排序之后按照等差数列的那个性质进行判断就可以。
但是需要注意一点就是,在数组中肯定会出现重复元素,这样的话就不符合等差数列的性质,我们只需要在此基础上加上额外的判断条件:如果有重复元素,我们选择直接跳过,而不清除计数器,这样的话就可以保证能有连续序列。
class Solution {
public int longestConsecutive(int[] nums) {
Arrays.sort(nums);
int res=1;
int count=1;
for(int i=1;i<nums.length;i++){
if(nums[i]-nums[i-1]==1){
count++;
}
else if(nums[i]==nums[i-1]){
continue;
}
else{
count=1;
}
res=Math.max(res,count);
}
if(nums.length>0)
return res;
else
return 0;
}
}