最长连续序列-LintCode
2017-07-20 17:07
399 查看
给定一个未排序的整数数组,找出最长连续序列的长度。
说明
要求你的算法复杂度为O(n)
样例
给出数组[100, 4, 200, 1, 3, 2],这个最长的连续序列是 [1, 2, 3, 4],返回所求长度 4
说明
要求你的算法复杂度为O(n)
样例
给出数组[100, 4, 200, 1, 3, 2],这个最长的连续序列是 [1, 2, 3, 4],返回所求长度 4
#ifndef C124_H #define C124_H #include<iostream> #include<vector> #include<queue> using namespace std; class Solution{ public: /** * @param nums: A list of integers * @return an integer */ int longestConsecutive(vector<int> &num) { // write you code here int len = num.size(); priority_queue<int> que; for (auto c : num) { que.push(c); } int m=1,n=1; num.clear(); for (int i = 0; i < len; ++i) { num.push_back(que.top()); que.pop(); } for (int i = 0; i < len - 1; ++i) { if (num[i] == num[i + 1] + 1) { m++; } else if (num[i] == num[i + 1]) { continue; } else { n = n>m ? n : m; m = 1; } } n = n > m ? n : m; return n; } }; #endif
相关文章推荐
- *[Lintcode]Longest Consecutive Sequence最长连续序列
- [LintCode 124] 最长连续序列(Python)
- 最长上升连续子序列-LintCode
- lintcode-124-最长连续序列
- [LintCode] 619 Binary Tree Longest Consecutive Sequence III 二叉树最长连续序列 III
- lintcode-最长上升连续子序列-397
- lintcode-397-最长上升连续子序列
- lintcode: 最长连续序列
- LintCode- 最长上升连续子序列
- lintcode 最长上升连续子序列 II(二维最长上升连续序列)
- LintCode刷题——最长上升连续子序列
- LintCode124-最长连续序列
- [LintCode] Longest Consecutive Sequence 求最长连续序列
- LintCode-最长连续序列
- lintcode ----最长连续序列
- [LeetCode] Longest Continuous Increasing Subsequence 最长连续递增序列
- E 绝对半径2051 最长的连续相同序列的长度
- 最长非上升/非下降子序列(O(nlogn)非连续)
- [LeetCode] 298. Binary Tree Longest Consecutive Sequence 二叉树最长连续序列
- 求字符串最长不连续回文序列的深入研究