leetcode---longest-consecutive-sequence---数组
2017-12-25 20:39
633 查看
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.
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) { int n = num.size(); if(n == 0) return 0; set<int> s; for(int i=0; i<n; i++) s.insert(num[i]); int max = 0; while(!s.empty()) { int len = 1; set<int>::iterator it; it = s.begin(); int tmp = *it; int low = (*it) - 1; while(s.count(low)) { s.erase(low); --low; ++len; } int high = (*it) + 1; while(s.count(high)) { s.erase(high); ++high; ++len; } s.erase(tmp); if(len > max) max = len; } return max; } };
相关文章推荐
- [LeetCode] 无序数组中的最长连续数列 The Longest Consecutive Sequence in an unsorted array
- leetcode:数组之Longest Consecutive Sequence
- 128.LeetCode Longest Consecutive Sequence(hard)[数组 排序 最长连续增长子序列]
- 【LeetCode】Longest Consecutive Sequence
- Leetcode: Longest Consecutive Sequence && Summary: Iterator用法以及ConcurrentModificationException错误说明
- leetcode-128-Longest Consecutive Sequence
- [LeetCode] Longest Consecutive Sequence
- [LeetCode] Binary Tree Longest Consecutive Sequence II 二叉树最长连续序列之二
- [LeetCode]Longest Consecutive Sequence
- LeetCode-Longest Consecutive Sequence
- 【LeetCode with Python】 Longest Consecutive Sequence
- [leetcode] Longest Consecutive Sequence
- [leetcode] Longest Consecutive Sequence
- [leetcode] Longest Consecutive Sequence
- LeetCode——Longest Consecutive Sequence
- LeetCode Longest Consecutive Sequence
- leetcode[128]Longest Consecutive Sequence
- leetcode 日经贴,Cpp code -Longest Consecutive Sequence
- LeetCode Longest Consecutive Sequence
- [leetcode]Longest Consecutive Sequence @ Python