longest-consecutive-sequence
来源:互联网 发布:社会调查数据库 编辑:程序博客网 时间:2024/06/16 00:57
longest-consecutive-sequence
题目描述
Given an unsorted array of integers, find the length of the longest consecutive elements sequence.
For example,
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.
思路
题目要求线性时间内实现,先排序再查找这种方法被摒弃了
用一个set集合存储数组
对原数组遍历
如果元素在集合中,对其左右两边搜索(比如3, 搜索是否2,1,0….在集合,搜索4,5,6,……是否在集合中,集合必须删除访问过的节点
返回最大连续长度
代码
class Solution {public: int longestConsecutive(vector<int> &num) { unordered_set<int> myset(num.begin(),num.end()); int res=1; for(int current:num) { if(myset.find(current)==myset.end()) continue; myset.erase(current); int prev=current-1,post=current+1; while(myset.find(prev)!=myset.end()) { myset.erase(prev--); } while(myset.find(post)!=myset.end()) { myset.erase(post++); } res=max(res,post-prev-1); } 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
- tensorflow的作用机制
- 进程调度相关
- MySQL系列—Replication配置项简述
- ROS机器人操作系统最佳实践指南
- 一位6年软件工程师的总结与反思
- longest-consecutive-sequence
- 公司年检流程是怎样的?
- 单向链表的一些操作
- 什么是java?
- list,set,map和array的最全总结(1)
- zoj3432 Find the Lost Sock 亦或的运用
- Hibernate Session 操作数据库的方法详解
- (2017多校训练第七场)HDU
- Myeclipse14安装svn