Longest Consecutive Sequence
来源:互联网 发布:淘宝破损补寄怎么设置 编辑:程序博客网 时间:2024/06/03 02:25
class Solution {public: int longestConsecutive(vector<int> &num) { int n=num.size(),res=1; if (!n) return 0; map<int,int> m; for (int i=0; i<n; i++) { m[num[i]]=i; } vector<int> visited(n,0); for (int i=0; i<n; i++) { if (visited[i]) continue; visited[i]=1; int temp=num[i]-1, len=1; while (m.find(temp)!=m.end()) { len++; visited[m[temp]]=1; m.erase(temp); temp--; } temp=num[i]+1; while (m.find(temp)!=m.end()) { len++; visited[m[temp]]=1; m.erase(temp); temp++; } if(len>res) res=len; } return res; }};
没有加17和25行会超时
因为hash map内是按照key的排序保存的,所以可以简化
class Solution {public: int longestConsecutive(vector<int> &num) { int n=num.size(),res=1; if (!n) return 0; map<int,bool> m; for (int i=0; i<n; i++) { m[num[i]]=true; } int tmp = 0, len=1; for (map<int,bool>::iterator it=m.begin(); it!=m.end(); it++) { if (it==m.begin()) tmp=it->first; else { if (it->first==++tmp) { len++; }else { tmp=it->first; len=1; } } if(len>res) res=len; } return res; }};
0 0
- Longest Consecutive Sequence
- Longest Consecutive Sequence
- Leetcode : Longest Consecutive Sequence
- [Leetcode] Longest Consecutive Sequence
- longest consecutive elements sequence
- [leetcode] longest consecutive sequence
- Longest Consecutive Sequence
- Longest Consecutive Sequence
- 【leetcode】Longest Consecutive Sequence
- LeetCode - Longest Consecutive Sequence
- [LeetCode]Longest Consecutive Sequence
- leetcode:Longest Consecutive Sequence
- Longest Consecutive Sequence
- Longest Consecutive Sequence
- [Leetcode]Longest Consecutive Sequence
- [leetcode]Longest Consecutive Sequence
- Longest Consecutive Sequence
- Longest Consecutive Sequence
- 算法实验题 车皮编序问题(转化为在全排列的基础上的堆栈问题)
- iOS view 自适应屏幕问题
- Cocos2dx入门小游戏---Runner教程
- 设计模式一日一练:单件模式(Singleton)
- 微支付开发部分代码示例
- Longest Consecutive Sequence
- android的listview中的多选框设置默认选中
- 黑马程序员 自学12C#编程基础之方法调用
- Qt学习笔记03_几个抽象类的组件
- Weka二次开发教程(Eclipse+weka)
- 改变vector对iterator的影响
- centOS 安装 erlang环境 1.7 整理
- 在eclipse下使用java调用weka 与 在MyEclipse中运行数据挖掘工具weka
- w25x16