Longest Consecutive Sequence
来源:互联网 发布:国培网络研修心得体会 编辑:程序博客网 时间:2024/03/29 06:13
最初的想法是使用一个数组dp[1000]记录每个数字是否出现过,然后从小到大遍历一遍查找,看了测试数据后(数据太大),感觉这种方法不可行。实在想不出来了,参看了discuss,发现他们都是用容器实现的,首先将元素映射过去,然后判断左边和右边元素是否在map中,并且和以前的元素是否连续,这样进行之后,将访问过的元素标记为0.z这种方法是可以达到O(n)的。所以,以后想不出来的时候,试着去用一下容器。
class Solution {public: map<int,int> mp; int longestConsecutive(vector<int> &num) { // Start typing your C/C++ solution below // DO NOT write int main() function int i,j; for(i=0;i<num.size();i++) mp[num[i]]=1; int res=0; for(i=0;i<num.size();i++){ int sum=1; if(mp.count(num[i])){ mp[num[i]]=0; int left=num[i]-1; while(mp.count(left)&&mp[left]!=0){ mp[left--]=0; sum++; } int right=num[i]+1; while(mp.count(right)&&mp[right]!=0){ mp[right++]=0; sum++; } } if(res<sum) res=sum; } return res; }};
- 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
- 文件系统常用命令
- Python 实现的Binary Search 算法以及效率的对比
- 使用expect省去输入ssh密码之苦
- 求质数(C++语言)
- 二进制包安装、查询、卸载
- Longest Consecutive Sequence
- cramfs文件系统移植经念总结
- 判断整数序列是不是二元查找树的后序遍历结果
- Struts2文件上传--上传图片文件
- WWW与不带WWW区别 用link rel="canonical"来避免搜索引擎抓取重复内容
- zoj1710
- 源码包安装
- 基于Eclipse的Hadoop应用开发环境配置
- 对日软件开发与外包——代码注释