# 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]. 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;
}

0 0
mysql批量修改存储引擎和字符集
mysql批量修改存储引擎和字符集
0 0
Activity子类详解

879 0

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