最长连续序列
来源:互联网 发布:vpn软件 编辑:程序博客网 时间:2024/05/01 23:38
给定一个未排序的整数数组,找出最长连续序列的长度。
样例
说明 要求你的算法复杂度为O(n)给出数组[100, 4, 200, 1, 3, 2],这个最长的连续序列是 [1, 2, 3, 4],返回所求长度 4
class Solution {public: /** * @param nums: A list of integers * @return an integer */ int longestConsecutive(vector<int> &num) { // write you code here int n = num.size(); int result = 0; set<int> buf; for (int i = 0; i < n; i++) { buf.insert(num[i]); } for (int i = 0; i < n; i++) { int left = maxLen(0, num[i], buf); int right = maxLen(1, num[i]+1, buf); if (left+right > result) { result = left + right; } } return result; }private: int maxLen(int flag, int val, set<int> &buf) { int result = 0; while (buf.find(val) != buf.end()) { result++; buf.erase(val); if (flag == 0) { val--; } else { val++; } } return result; }};
0 0
- 【最长连续序列问题】
- 最长连续序列
- 最长连续序列
- 最长连续序列
- 连续最长子序列
- 最长连续子序列
- 最长连续序列
- 最长连续序列
- lintcode ----最长连续序列
- 最长连续序列长度
- 最长连续子序列
- LintCode:最长连续序列
- LintCode-最长连续序列
- 最长连续序列
- LintCode : 最长连续序列
- 最长连续序列
- 最长连续序列
- LintCode-最长连续序列
- Java窗口居中
- 移动数组中的0
- 键盘录入数据存到文件中
- 操作系统内核Hack:(二)底层编程基础
- ggplot2学习笔记之标度scale
- 最长连续序列
- Android面试题
- 工欲善其事必先利其器
- QT QSemaphore 线程同步
- Mac环境下SVN的使用
- Android读书笔记-------View事件体系(2)滑动及弹性滑动
- 1006. Sign In and Sign Out
- 看一手的有字幕的Google Android开发视频
- Spring Refrence翻译 之 7 验证、数据绑定和类型转换