[Leetcode] Longest Consecutive Sequence (Java)
来源:互联网 发布:黑龙江东北网络台 v 编辑:程序博客网 时间:2024/05/22 06:55
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.
用set保存num[]数组中的值,找数时从向前向后2个方向找,找到数后就从set中删除这个数,防止下次再次找到
public class Solution { public int longestConsecutive(int[] num) {int ret = 0;Set<Integer> set = new HashSet<Integer>();for(int i:num)set.add(i);for(int i=0;i<num.length;i++){int ac = findNum(true,num[i],set);int dc = findNum(false,num[i]-1,set);if(ac+dc>ret)ret = ac+dc;}return ret;}private int findNum(boolean flag, int pivot,Set<Integer> set) {int count=0;if(flag){while(set.contains(pivot)){set.remove(pivot);count++;pivot++;}}else {while(set.contains(pivot)){set.remove(pivot);count++;pivot--;}}return count;}}
0 0
- [Leetcode] Longest Consecutive Sequence (Java)
- Longest Consecutive Sequence--Leetcode(Java)
- [leetcode]longest consecutive sequence(java)
- [LeetCode][Java] Longest Consecutive Sequence
- Longest Consecutive Sequence leetcode java
- 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
- 地址线和数据线关系
- Linux环境变量配置
- 开发板和虚拟机共享方式
- error:求平方数时,求数的位数时,没考虑仔细flag,漏了一种情况
- udev的介绍
- [Leetcode] Longest Consecutive Sequence (Java)
- linux bash bc awk 浮点 计算 比较
- java中的反射
- [并查集]HOJ 2745 Indirect Know
- 中文计算机核心期刊排名及投稿信息
- 黑马程序员--异常
- Linux-CD挂载
- 很棒的node.js
- Fedora 10中开启root用户登录