LeetCode 之 Longest Consecutive Sequence
来源:互联网 发布:英格兰长弓手—指算法 编辑:程序博客网 时间:2024/04/30 10:33
原题:
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.
看到这个题,肯定能想到用hash,但是怎么用呢,比如1,3,4,5,8,9,10,在345连续的数列中,其实有一个保存大小就行了,那我就让第一个元素保存,比如现在看到了3,那么我就试试有没有456。。。每遇到一个加1,直到没有;然后再试21等等,每遇到加1。
代码(72ms):
class Solution {public: int longestConsecutive(vector<int> &num) { unordered_map<int,int>mymap; int maxNum = 0; for (int i =0 ;i < num.size();i++){ if(mymap.find(num[i]) == mymap.end() ){ mymap.insert({num[i],1}); } else{ //如果重复的数也算,则要这句话 // mymap.find(num[i])->second++; } } for (auto it = mymap.begin();it!=mymap.end();it++){ int current = it->first; //先看比current大的,且和current相连的数 while(mymap.find(++current)!=mymap.end()){ it->second++; //要及时抹去,要不之后会重复计算 mymap.erase(current); } current = it->first; while(mymap.find(--current)!=mymap.end()){ it->second++; mymap.erase(current); } maxNum = max(maxNum , it->second); } return maxNum; }};
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
- Oracle中的Union、Union All、Intersect、Minus
- mysql中key 、primary key 、unique key 与index区别
- 迭代器模式(Iterator pattern)
- JS动态调用方法名
- 关于iBeacons的一些东西
- LeetCode 之 Longest Consecutive Sequence
- MATLAB卡方检验精度问题解决办法(算的就是卡方检验下的P值)
- oracle中的数据库、用户、方案、表空间、表对象之间的关系
- java五种内部排序(直接插入排序、希尔排序、快速排序、堆排序、归并排序)
- 关于求模与求余
- rails simple_form
- WPF 样式
- Windows多屏幕操作实践
- 拓胜第三天,上