128. Longest Consecutive Sequence (List, Queue)
2015-10-03 09:28
609 查看
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) { priority_queue<int> Q; //priority queue is in descending order by default for (int i = 0; i < num.size(); i++) { Q.push(num[i]); } int ret = 1; int maxlen = 1; int temp = Q.top(); Q.pop(); while (!Q.empty()) { if (temp - 1 == Q.top()) { temp -= 1; maxlen += 1; } else if (temp != Q.top()) { temp = Q.top(); maxlen = 1; } Q.pop(); ret = max(maxlen, ret); } return ret; } };
相关文章推荐
- iOS的实时搜索:UISearchBar与UISearchController
- UI:修改模拟器类型、多线程理解
- UVALive 6432 Influence // 暴力dfs
- ZOJ 3820 Building Fire Stations
- Debian Stable (Jessie 8.1) 的normal.mod not found
- hdu 5493 Queue(线段树)
- unique_ptr
- 多个线程操作StringBuffer和StringBuilder
- 用g++ 编译 ffmpeg 编译出现 error: 'UINT64_C' was not declared in this scope 或 missing -D__STDC_CONSTANT_MACROS
- codeforces 466D Increase Sequence DP
- [LeetCode]Longest Consecutive Sequence
- String,StringBuffer与StringBuilder的区别
- iOS:UIView、UIControl、UIButton、UILabel简单的属性和方法常识
- iOS8之后UIAlertController
- LeetCode(52) N-Queens II
- LeetCode(52) N-Queens II
- Java finished with non-zero exit value 2 - Android Gradle
- UESTC 1307 WINDY数 (数位DP,基础)
- LeetCode(51) N-Queens
- LeetCode(51) N-Queens