排序后遍历序列,如果满足上升就
num++
,最后返回num的最大值。
class Solution {
public:
int longestConsecutive(vector<int>& nums) {
sort(nums.begin(),nums.end());
int max=0;
int num=0;
for(int i=1;i<nums.size();i++)
{
if(nums[i]==nums[i-1]+1)
{
num++;
if(num>max) max=num;
}
else if(nums[i]==nums[i-1])
{
continue;
}
else
{
num=0;
}
}
if(!nums.size()) return 0;
return ++max;
}
};