leetcode[128]Longest Consecutive Sequence
2015-02-09 13:07
330 查看
Given an unsorted array of integers, find the length of the longest consecutive elements sequence.
For example,
Given
The longest consecutive elements sequence is
Your algorithm should run in O(n) complexity.
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.
class Solution { public: int longestConsecutive(vector<int> &num) { if(num.empty())return 0; unordered_set<int> all; unordered_set<int> visited; for(int i=0;i<num.size();i++) all.insert(num[i]); int max=0; for(int i=0;i<num.size();i++) { if(visited.find(num[i])!=visited.end())continue; int count=1; visited.insert(num[i]); int left=num[i]; while(all.find(--left)!=all.end()) { count++; visited.insert(left); } int right=num[i]; while(all.find(++right)!=all.end()) { count++; visited.insert(right); } max=max>count?max:count; } return max; } };
相关文章推荐
- LeetCode128 Longest Consecutive Sequence
- [LeetCode#128]Longest Consecutive Sequence
- leetcode 128 —— Longest Consecutive Sequence
- leetcode-128-Longest Consecutive Sequence 哈希表
- LeetCode: Longest Consecutive Sequence [128]
- [leetcode-128]Longest Consecutive Sequence(java)
- [LeetCode]128 Longest Consecutive Sequence
- LeetCode: Longest Consecutive Sequence [128]
- leetcode 128. Longest Consecutive Sequence .
- leetcode-128-Longest Consecutive Sequence
- LeetCode(128) Longest Consecutive Sequence
- LeetCode(128) Longest Consecutive Sequence
- Java for LeetCode 128 Longest Consecutive Sequence
- [python]leetcode(128). Longest Consecutive Sequence
- leetcode 128:Longest Consecutive Sequence
- [leetcode 128] Longest Consecutive Sequence
- 【leetcode 128】Longest Consecutive Sequence
- [LeetCode 128] - 最长连续序列(Longest Consecutive Sequence)
- leetcode128 Longest Consecutive Sequence (map)
- Leetcode 128 Longest Consecutive Sequence