Longest Consecutive Sequence ----leetcode
来源:互联网 发布:淘宝客转换淘口令软件 编辑:程序博客网 时间:2024/06/08 02:46
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),最快的排序也需要O(nlogn),排序后再找肯定达不到要求,这里可以借助于java中的容器hashset,然后在数组中开始找,对于选定的值进行前后找,记录下长度,对于hashset中遍历过的值删除掉,以防出现极端的情况[1,2,3,4...n],这种情况不删除已经访问过的点,会导致O(n*2)的复杂度。代码如下:
public class Solution { public int longestConsecutive(int[] num) { if(num.length==0||num.length==1) return num.length; HashSet<Integer> hash=new HashSet<Integer>(); int res=0; for(int i=0;i<num.length;i++) hash.add(num[i]); for(int i=0;i<num.length;i++) { int templen=1,tempnum; tempnum=num[i]+1; while(hash.contains(tempnum)) { hash.remove(tempnum); templen++; tempnum++; } tempnum=num[i]-1; while(hash.contains(tempnum)) { hash.remove(tempnum); templen++; tempnum--; } if(templen>res) res=templen; if(res>=num.length) break; } return res; }}
0 0
- 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
- LeetCode-Longest Consecutive Sequence
- LeetCode - Longest Consecutive Sequence
- [LeetCode] longest consecutive sequence
- LeetCode | Longest Consecutive Sequence
- [leetcode]Longest Consecutive Sequence
- hdu1867
- 全局对象Application的使用,以及如何在任何地方得到Application全局对象
- fzu 2132
- android overridePendingTransition
- 拥抱变化-----http post请求出现400异常
- Longest Consecutive Sequence ----leetcode
- vim自定义设置-配置文件
- 总有一款适宜你 2000元内手机购机攻略
- 好的程序员到底好在哪里
- 轻量级网络请求框架MKNetworkKit介绍及使用
- java读取TXT文件的方法
- (经典)Hibernate的一对多关系映射(三)
- Linux Buffers和Cached的区别
- IOS开发之自定义UIActionSheet