开发者社区> 指尖的舞曲> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Longest Consecutive Sequence

简介: Given an unsorted array of integers, find the length of the longest consecutive elements sequence. For example,Given [100, 4, 200, 1, 3, 2],The longest consecutive elements sequence is [1, 2, 3, 4].
+关注继续查看

Given an unsorted array of integers, find the length of the longest consecutive elements sequence.

For example,
Given [100, 4, 200, 1, 3, 2],
The longest consecutive elements sequence is [1, 2, 3, 4]. Return its length: 4.

Your algorithm should run in O(n) complexity.

C++代码实现:

#include<iostream>
#include<vector>
#include<set>
using namespace std;

class Solution
{
public:
    int longestConsecutive(vector<int> &num)
    {
        if(num.empty())
            return 0;
        set<int> st;
        int len=1;
        for(int i=0; i<(int)num.size(); i++)
            st.insert(num[i]);
        auto k=st.begin();
        k++;
        int count=1;
        for(; k!=st.end(); k++)
        {
            auto tmp=k;
            tmp--;
            if(*tmp+1!=*k)
            {
                if(count>len)
                    len=count;
                count=1;
                continue;
            }
            count++;
        }
        if(count>len)
            len=count;
        return len;
    }
};

int main()
{
    Solution s;
    vector<int> vec= {9,1,4,7,3,-1,0,5,8,-1,6};
    cout<<s.longestConsecutive(vec)<<endl;
}

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
万字详解:Activiti 工作流引擎(二)
万字详解:Activiti 工作流引擎(二)
0 0
mysql批量修改存储引擎和字符集
mysql批量修改存储引擎和字符集
0 0
Activity子类详解
前言 往者不可谏,来者犹可追。 建立自己的Activity需要继承Activity基类。当然,在不同的场景下,你也可以继承Activity的子类来简化开发。
879 0
三分钟了解Activity工作流
一、 什么是工作流 以请假为例,现在大多数公司的请假流程是这样的 员工打电话(或网聊)向上级提出请假申请——上级口头同意——上级将请假记录下来——月底将请假记录上交公司——公司将请假录入电脑 采用工作流技术的公司的请假流程是这样的 员工使用账户登录系统——点击请假——上级登录系统点击允许 就这样,一个请假流程就结束了 有人会问,那上级不用向公司提交请假记录?公司不用将记录录入电脑?答案是,用的。
860 0
[LeetCode] Binary Tree Longest Consecutive Sequence
Problem Description: Given a binary tree, find the length of the longest consecutive sequence path. The path refers to any sequence of nodes from so...
645 0
+关注
指尖的舞曲
目前在阿里巴巴搬砖
文章
问答
文章排行榜
最热
最新
相关电子书
更多
CONNECTIONS MATTER: SIMPLIFY Y
立即下载
Real-time analytical query processing and predictive model building on high dimensional document datasets with timestamps
立即下载
High-Performance Time Series
立即下载