LeetCode 128 Longest Consecutive Sequence
2016-12-13 16:08
423 查看
Given an unsorted array of integers, find the length of the longest consecutive elements sequence.
For example,
Given
The longest consecutive elements sequence is
Your algorithm should run in O(n) complexity.
Runtime: 11
ms
public int longestConsecutive(int[] nums) {
Set<Integer> set = new HashSet<>();
for (int n : nums) set.add(n);
int max = 0;
for (int n : set) {
if (!set.contains(n - 1)) { // only check for one direction
int m = n + 1;
while (set.contains(m)) {
m++;
}
max = Math.max(max, m - n);
}
}
return max;
}
常用数据结构及复杂度
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.
Runtime: 11
ms
public int longestConsecutive(int[] nums) {
Set<Integer> set = new HashSet<>();
for (int n : nums) set.add(n);
int max = 0;
for (int n : set) {
if (!set.contains(n - 1)) { // only check for one direction
int m = n + 1;
while (set.contains(m)) {
m++;
}
max = Math.max(max, m - n);
}
}
return max;
}
常用数据结构及复杂度
相关文章推荐
- [leetcode 128] Longest Consecutive Sequence
- leetcode || 128、Longest Consecutive Sequence
- [leetcode] 128. Longest Consecutive Sequence
- LeetCode128—Longest Consecutive Sequence
- [LeetCode#128]Longest Consecutive Sequence
- LeetCode 128 Longest Consecutive Sequence
- leetcode-128-Longest Consecutive Sequence 哈希表
- LeetCode: Longest Consecutive Sequence [128]
- LeetCode(128)Longest Consecutive Sequence
- leetcode 128 —— Longest Consecutive Sequence
- Leetcode_128_Longest Consecutive Sequence
- [LeetCode 128] - 最长连续序列(Longest Consecutive Sequence)
- LeetCode128:Longest Consecutive Sequence
- leetcode[128]Longest Consecutive Sequence
- [leetcode-128]Longest Consecutive Sequence(java)
- [python]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