Longest Consecutive Sequence
来源:互联网 发布:软件测试怎么学 编辑:程序博客网 时间:2024/06/06 10:50
Q:
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.
Solution:
public class Solution { public int longestConsecutive(int[] num) { if (num.length == 0) return 0; HashSet<Integer> set = new HashSet<Integer>(); for (int i = 0; i < num.length; i++) set.add(num[i]); int count = 1; int max = count; for (int i = 0; i < num.length; i++) { if (set.contains(num[i])) { int next = num[i] + 1; set.remove(num[i]); while (set.contains(next)) { count++; set.remove(next); next++; } int prev = num[i] - 1; while (set.contains(prev)) { count++; set.remove(prev); prev--; } max = Math.max(max, count); } count = 1; } return max; }}
0 0
- 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
- 实现memcpy和memmove两个库函数的自学体会 -10-13
- Apple的俚语表达
- Linux输入子系统:事件的编码 -- event-codes.txt
- CSS3 Web工程师工作场景动画
- Java 连接MySql数据库
- Longest Consecutive Sequence
- Android笔记 使用AIDL和远程服务实现进程通信
- Spring MVC 文件上传
- 批量操作数据方法(实例)
- 遗传算法之:编码方法
- 交叉验证
- Linux输入子系统:多点触控协议 -- multi-touch-protocol.txt
- 【算法】大数除法
- 构造函数和析构函数