leetcode-128. 最长连续序列

 

 

class Solution {
public:
    int longestConsecutive(vector<int>& nums) {
        if(nums.size()==0)
            return 0;
        if(nums.size()==1)
            return 1;
        sort(nums.begin(), nums.end());
        int sum = 0;
        for(int i = 0; i < nums.size()-1; i++){
            int count = 1;
            while(i < nums.size()-1){
                if(nums[i+1]-nums[i]==1){  // 连续的情况
                    count ++;
                    i++;
                }else if(nums[i+1]-nums[i]==0){ //  可能有相等值出现的情况,
                    i++;
                }else{  // 其余的情况
                    break;
                }
                
            }
            sum =max(sum, count);
        }
        return sum;
    }
};

 下面这个比我的还要简单一点。

 

posted @ 2021-07-21 16:46  三一一一317  阅读(25)  评论(0)    收藏  举报