Longest Consecutive Sequence
来源:互联网 发布:golang io.readfull 编辑:程序博客网 时间:2024/05/21 09:34
题目:Given an unsorted array of integers, find the length of the longest consecutive elements sequence.
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.
思路:
先是定义一个unordered_set,把数组里面原来的数值插入进去,之后再设立一个循环,从当前的一个数开始,也可以从当前数下一个数值开始,就看你怎么设置这个初始值count了。循环里面的循环每一次如果能够找到,count+1,并且删除集合里面的数值。这样,在大循环里面不会有影响的。
程序一开始出错的原因在于没有设立一个res,无法进行更新。所以没有AC。
代码:
class Solution {public: int longestConsecutive(vector<int>& nums) { int len=nums.size(); unordered_set<int> mp; for(int i=0;i<len;i++){ mp.insert(nums[i]); } int res=0; for(int i=0;i<len;i++){ int count=1; for(int j=nums[i]+1;mp.find(j)!=mp.end();j++){ count++; mp.erase(j); } for(int j=nums[i]-1;mp.find(j)!=mp.end();j--){ count++; mp.erase(j); } res=max(res,count); if(mp.size()<1) break; } 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
- 做一个下拉刷新必须需要掌握的android知识点
- 读书笔记:构造函数、析构函数、拷贝构造函数、赋值函数
- Zxing 竖屏切换 android
- 双十一剁手族,电商背后的那些技术你们造吗?
- 自己开发jquery插件的方法
- Longest Consecutive Sequence
- 数据库的约束,聚合函数,group,类型转换
- Charles3.8.1 注册码
- 在Hexo中为文章自动添加版权信息声明模块
- iOS实现倒计时
- Linux Shell 1>/dev/null 2>&1 含义
- 从”JAVA“而终 26:JSP详细讲解
- Android 开发有什么好的架构么?
- mac brew 的安装和使用