[Leetcode]Longest Consecutive Sequence
来源:互联网 发布:数据库管理软件做什么 编辑:程序博客网 时间:2024/04/25 00:29
思路:要求O(N),无法使用排序,一般都需要用到哈希。我们现在遍历输入元素的时候,如果可以很快的找到其前一个和后一个数(对于3来说是2和4),那么我们只要向前和向后遍历即可,为了防止重复遍历可以标记已经访问过的元素。
class Solution {public: int longestConsecutive(vector<int> &num) { // Start typing your C/C++ solution below // DO NOT write int main() function unordered_set<int> arr; int ret = 1; for(vector<int>::size_type i = 0; i < num.size(); ++i) arr.insert(num[i]); for(vector<int>::size_type i = 0; i < num.size(); ++i) { if(arr.count(num[i]) == 0) continue; int ans = 1; int next = num[i] - 1; while(arr.count(next) != 0) { arr.erase(next--); ans++; } next = num[i] + 1; while(arr.count(next) != 0) { arr.erase(next++); ans++; } arr.erase(num[i]); ret = max(ans, ret); } return ret; }};
- 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
- Ruby 正则表达式
- poj 1159 palindrome
- 清楚cin错误状态的代码
- dnspod opensource
- 关于VisualStudio性能分析数据中的独占样本数和非独占样本数的意义
- [Leetcode]Longest Consecutive Sequence
- BootStrap的色盲无障碍性
- c++ 函数后面 const 作用
- 拯救拯救自己
- svn
- A*算法
- MySQL服务器最大连接数的合理设置
- 关于String和StringBuilder的效率问题
- c# xml dom sax解析记录