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

最长的连续元素序列长度

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());
    }
};

全部评论

相关推荐

01-30 10:21
中北大学 golang
27届学院本誓死冲击...:技术栈不用搞这么详细,主要还是看实习和项目,毕竟技术栈就那点,你能写这么多,别人也可以写这么多,模版换一下换成上下的,不知道怎么排版可以去看看别人怎么写
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务