LeetCode:Longest Consecutive Sequence
来源:互联网 发布:进入mysql数据库表命令 编辑:程序博客网 时间:2024/06/05 01:01
Problem:
Longest Consecutive Sequence
Total Accepted: 3391 Total Submissions: 13151My SubmissionsGiven 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.
用一个哈希表记录每个元素是否用过,另外,对每个元素,以该元素为中心向两边扩张即可方便地找出最长的长度。
class Solution {public: int longestConsecutive(vector<int> const& num) { hash_map<int,bool>hashlist; for (int i = 0; i < num.size(); i++) { hashlist[num[i]]=true; } int longest=0; for (int i = 0; i < num.size(); i++) { if (hashlist[num[i]]==false) { continue; } int length=1; int k1=num[i];int k2=k1; while(hashlist[k1+1]) { hashlist[k1+1]=false; length++; k1++; } while(hashlist[k2-1]&&k2-1>=0) { hashlist[k2-1]=false; length++; k2--; } longest=max(longest,length); } return longest; }};
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
- linux定时器总结
- Eclipse SVN
- 数据结构的学习
- qsort()快排
- 多个字段的in 和 not in 及其替代写法(exists,not exists)
- LeetCode:Longest Consecutive Sequence
- 黑马程序员——面向对象之多态
- String与StringBuffer的区别
- Java开发中常见的危险信号(上)
- Java2D编程------形状
- 从一个简单的例子深入看待c语言指针
- 一个Java程序员第四年工作总结
- Windows下C语言连接MySQL
- Python+kivy作跨平台开发