leetcode:Longest Consecutive Sequence
来源:互联网 发布:淘宝网妈妈斗篷 编辑:程序博客网 时间:2024/04/29 13:39
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.
使用一般的排序+查找算法,算法时间复杂度一定会超过o(n),故采用hash散列表可以有效解决该问题。下面为详细代码:
class Solution {public: int longestConsecutive(vector<int> &num) { unordered_set<int> hashTable; unordered_set<int> visitTable; for(int i=0;i<num.size();i++) hashTable.insert(num[i]); int maxlen=INT_MIN; int curlen; for(int i=0;i<num.size();i++) { if(visitTable.find(num[i])!=visitTable.end()) continue; curlen=1; int left=num[i]-1; while(hashTable.find(left)!=hashTable.end()) { curlen++; visitTable.insert(left); left--; } int right=num[i]+1; while(hashTable.find(right)!=hashTable.end()) { curlen++; visitTable.insert(right); right++; } maxlen = maxlen>curlen?maxlen:curlen; } return maxlen; }};
0 0
- Leetcode : Longest Consecutive Sequence
- [Leetcode] Longest Consecutive Sequence
- [leetcode] longest consecutive sequence
- 【leetcode】Longest Consecutive Sequence
- LeetCode - Longest Consecutive Sequence
- [LeetCode]Longest Consecutive Sequence
- leetcode:Longest Consecutive Sequence
- [Leetcode]Longest Consecutive Sequence
- [leetcode]Longest Consecutive Sequence
- leetcode Longest Consecutive Sequence
- Leetcode: Longest Consecutive Sequence
- LeetCode:Longest Consecutive Sequence
- [leetcode] Longest Consecutive Sequence
- LeetCode-Longest Consecutive Sequence
- LeetCode - Longest Consecutive Sequence
- [LeetCode] longest consecutive sequence
- LeetCode | Longest Consecutive Sequence
- [leetcode]Longest Consecutive Sequence
- Windows编程基础 第十一章 动态库 静态库
- ios-使用iPad专用API(UIPopoverController)控制器
- python 源码学习心得
- 关于毕业设计题目选择
- deque的用法及其与vector、list应用比较
- leetcode:Longest Consecutive Sequence
- 求子数组的最大和
- Asynchronous Android读书笔记六Long-running Tasks with Service
- sysstat 命令实例
- Java线程池的使用
- 用PHP实现同一个帐号不允许同时登陆,只允许一个帐号登录?
- Valid Parentheses
- zoj 3811 (2014 牡丹江网赛 C) Untrusted Patrol
- linux下 实时网络流量监控命令