将各个连续段长度获取出来,输出最大值即可

最长的连续元素序列长度

https://www.nowcoder.com/practice/57d83a2501164168841c158a7535b458


#include <algorithm>
#include <climits>
class Solution {
public:
    /**
     * 
     * @param num int整型vector 
     * @return int整型
     */
    int longestConsecutive(vector<int>& num) {
        // write code here
        sort(num.begin(),num.end());
        vector<int> arr;
        int count=1;
        int n=num.size();
        for(int i=1;i<n;i++){
            if(num[i]==num[i-1]+1){
                count++;
            }
            else if(num[i]-num[i-1]>1){
                arr.push_back(count);
                count=1;
            }
        }
        arr.push_back(count);
        return *max_element(arr.begin(),arr.end());
    }
};

全部评论

相关推荐

一名愚蠢的人类:多少games小鬼留下了羡慕的泪水
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务