LeetCode 128. Longest Consecutive Sequence
来源:互联网 发布:mac 拷贝文件夹 编辑:程序博客网 时间:2024/05/21 09:08
描述
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 log n) 的复杂度,那么可以先排序,可是本题要求 O(n)。 由于序列里的元素是无序的,又要求 O(n),首先要想到用哈希表。
用一个哈希表 unordered_map
class Solution {public: int longestConsecutive(vector<int>& nums) { unordered_map<int, bool> used; for (auto i : nums) used[i] = false; int longest = 0; for (auto i : nums) { if (used[i] == true) continue; int length = 1; used[i] = true; for (int j = i + 1; used.find(j) != used.end(); ++j) { used[j] = true; ++length; } for (int j = i - 1; used.find(j) != used.end(); --j) { used[j] = true; ++length; } longest = (length < longest) ? longest : length; } return longest; }};
0 0
- [LeetCode]128.Longest Consecutive Sequence
- [Leetcode] 128. Longest Consecutive Sequence
- [leetcode] 128.Longest Consecutive Sequence
- [leetcode] 128.Longest Consecutive Sequence
- Leetcode 128. Longest Consecutive Sequence
- Leetcode 128. Longest Consecutive Sequence
- LeetCode 128. Longest Consecutive Sequence
- LeetCode 128. Longest Consecutive Sequence
- [LeetCode]128. Longest Consecutive Sequence
- 【leetcode】128. Longest Consecutive Sequence
- Leetcode 128. Longest Consecutive Sequence
- leetcode.128. Longest Consecutive Sequence
- [leetcode] 128. Longest Consecutive Sequence
- LeetCode-128.Longest Consecutive Sequence
- Leetcode 128. Longest Consecutive Sequence
- [LeetCode] 128. Longest Consecutive Sequence
- LeetCode 128. Longest Consecutive Sequence
- [LeetCode]128. Longest Consecutive Sequence
- 每天一题LeetCode系列(有翻译,注释,持续更新~)
- POJ 2391 Ombrophobic Bovines
- leetcode--107. Binary Tree Level Order Traversal II
- linux驱动---等待队列、工作队列、Tasklets
- 教你如何找到导致程序跑飞的指令
- LeetCode 128. Longest Consecutive Sequence
- jsp配合java文件实现用户登录程序
- 在github上搭建ssm项目,记录轻笔记项目的完成进度
- G - Tian Ji -- The Horse Racing
- 快速排序java
- 上白泽慧 洛谷1726 强连通分量
- 二叉树知识点总结
- TabLayout+ViewPager 实现 PagerIndictor
- Spring aop execution 表达式