Longest Consecutive Sequence leetcode java
来源:互联网 发布:暨大网络教学平台 编辑:程序博客网 时间:2024/05/22 09:33
题目:
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.
题解:
这道题利用HashSet的唯一性解决,能使时间复杂度达到O(n)。首先先把所有num值放入HashSet,然后遍历整个数组,如果HashSet中存在该值,就先向下找到边界,找的同时把找到的值一个一个从set中删去,然后再向上找边界,同样要把找到的值都从set中删掉。所以每个元素最多会被遍历两边,时间复杂度为O(n)。
代码如下:
public int longestConsecutive(int[] num) { if(num == null||num.length == 0) return 0; HashSet<Integer> hs = new HashSet<Integer>(); for (int i = 0 ;i<num.length; i++) hs.add(num[i]); int max = 0; for(int i=0; i<num.length; i++){ if(hs.contains(num[i])){ int count = 1; hs.remove(num[i]); int low = num[i] - 1; while(hs.contains(low)){ hs.remove(low); low--; count++; } int high = num[i] + 1; while(hs.contains(high)){ hs.remove(high); high++; count++; } max = Math.max(max, count); } } return max; }
阅读全文
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
- which指令:通过终端查找存储指令的文件名
- MySql 关键字意义
- 挖掘算法中的数据结构(五):排序算法总结 和 索引堆及优化(堆结构)
- hdu 1232 畅通公路
- 深入学习js之浅谈设计模式(混入)
- Longest Consecutive Sequence leetcode java
- ioctl
- I2C总线传输协议
- java每日一练
- servlet的执行过程
- JAVA几种常见的设计模式
- Faster R-CNN —— ROIDB和Minibatch函数实现分析
- vue 问题总结
- [bzoj1808]/[Ioi2007]training 训练路径