[leetcode]Longest Consecutive Sequence
2013-06-26 10:19
239 查看
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) { // Start typing your C/C++ solution below // DO NOT write int main() function unordered_set<int> hash; for(int i = 0; i < num.size(); i++){ hash.insert(num[i]); } unordered_set<int>::iterator it; int result = 0; int tmp_elem; int cnt; unordered_set<int>::iterator tmp_it; while(!hash.empty()){ cnt = 1; it = hash.begin(); int elem = *it; hash.erase(it); tmp_elem = elem + 1; while((tmp_it = hash.find(tmp_elem)) != hash.end()){ cnt++; tmp_elem++; hash.erase(tmp_it); } tmp_elem = elem - 1; while((tmp_it = hash.find(tmp_elem)) != hash.end()){ cnt++; tmp_elem--; hash.erase(tmp_it); } result = max(result, cnt); } return result; } };
相关文章推荐
- 【LeetCode从零单刷】Longest Consecutive Sequence
- LeetCode_Longest Consecutive Sequence
- LeetCode:Longest Consecutive Sequence
- [LeetCode] Binary Tree Longest Consecutive Sequence II 二叉树最长连续序列之二
- leetcode第一刷_Longest Consecutive Sequence
- [LeetCode] Longest Consecutive Sequence
- [LeetCode] Longest Consecutive Sequence, Solution
- leetcode 128: Longest Consecutive Sequence
- leetcode:数组之Longest Consecutive Sequence
- [LeetCode298]Binary Tree Longest Consecutive Sequence
- Leetcode-Longest Consecutive Sequence
- Longest Consecutive Sequence -- leetcode
- Leetcode: Longest Consecutive Sequence && Summary: Iterator用法以及ConcurrentModificationException错误说明
- [LeetCode]题解(python):128-Longest Consecutive Sequence
- Leetcode 128 Longest Consecutive Sequence
- Java for LeetCode 128 Longest Consecutive Sequence
- [LeetCode]Longest Consecutive Sequence
- leetcode Longest Consecutive Sequence
- leetcode - Longest Consecutive Sequence
- LeetCode | Longest Consecutive Sequence(最长连续序列)