leetcode 128. 最长连续序列

思路:

先对数组进行排序,然后遍历寻找连续序列并计数,注意相等的情况

 

 

代码

class Solution {
public:
    int longestConsecutive(vector<int>& nums) {
        if(nums.empty())
        return 0;
        sort(nums.begin(),nums.end()); // 先对数组进行排序
        int tmp =1,result =1;
        for(int i =1;i<nums.size();i++)
        {
            if(nums[i] == nums[i-1]) // 如果和前面一个相等
            {
                continue;
            }
            if(nums[i] == nums[i-1]+1) //连续序列
            {
                tmp++;
                result = max(tmp,result);
            }
            else
            {
                tmp = 1;
            }
        }
        return result;

    }
};

 

posted @ 2021-09-26 16:00  A-inspire  Views(16)  Comments(0Edit  收藏  举报