128. 最长连续序列

128. 最长连续序列


题目链接:128. 最长连续序列

代码如下:

class Solution {
public:
    int longestConsecutive(vector<int>& nums) {
        if(nums.size()==0)
            return 0;

        set<int> s;//set自动非递减排序且不存储重复元素
        for(int i=0;i<nums.size();i++)
            s.insert(nums[i]);

        //清空数组元素并重新赋值
        nums.clear();
        for(auto it=s.begin();it!=s.end();it++)
            nums.push_back(*it);

        int len=1,curLen=1;

        //进行判断
        for(int i=0;i<nums.size()-1;i++)
        {
            if(nums[i]+1!=nums[i+1])
            {
                curLen=1;
            }
            else   
                curLen++;

            len=max(len,curLen);
        }

        return len;
    }
};

你可能感兴趣的:(leetcode,c++)