Longest Consecutive Sequence
来源:互联网 发布:云计算的部署模式 编辑:程序博客网 时间:2024/04/24 02:53
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.
这个题跟我storm8的电面题差不多,可惜当时脑子没转过来,是在人家给了hint之后做出来的。就挂了。class Solution {public: int longestConsecutive(vector<int> &num) { // Start typing your C/C++ solution below // DO NOT write int main() function unordered_set<int> map; int n = num.size(); for(int i = 0;i < n; ++i){ map.insert(num[i]); } int max = 1; for(int i = 0; i< n; ++i){ if(map.find(num[i]) != map.end()){ int temp = 1; int cur = num[i]; map.erase(cur); temp += getCount(map, cur + 1, true); temp += getCount(map, cur - 1, false); max = temp > max ? temp : max; } } return max; } int getCount(unordered_set<int> &map, int cur, bool asc){ int count = 0; while(map.find(cur) != map.end()){ map.erase(cur); count ++; if(asc) cur++; else cur--; } return count; }};
- 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
- 大杀四方的面试编程题
- shell if
- 一次退出所有的activity
- 使用NSOperationQueue简化多线程开发和队列的优先级
- 中兴面试题之求所有组合使之和为m
- Longest Consecutive Sequence
- Ajax 生成流文件下载
- 如何保持创新精神生生不息?
- C++中的显示转换
- LA 4670 AC自动机简单题
- 查看 计算机 windows 本地 占用 80 端口 程序
- 左右两边的青蛙位置互换--面试编程题
- Unable to add window -- token null is not valid
- centos 6.2 下载eclipse解压双击eclipse excutable不能启动