Longest Consecutive Sequence
来源:互联网 发布:进口儿童安全座椅知乎 编辑:程序博客网 时间:2024/06/02 01:59
Given an unsorted array of integers, find the length of the longest consecutive elements sequence.
Clarification
Your algorithm should run in O(n) complexity.
Example
Given [100, 4, 200, 1, 3, 2]
,
The longest consecutive elements sequence is [1, 2, 3, 4]
. Return its length: 4
.
这道题比较简单,用一个hashset把数组存入,然后再次遍历数组,然后往num[i]+1, -1两个方向去找,看在set里是否存在,如果存在,那么count++,并且将对应比他大,小的数字从set中删掉,可以避免重复计算
代码:
public int longestConsecutive(int[] num) { // write you code here if(num == null || num.length == 0) return 0; HashSet<Integer> set = new HashSet<>(); for(int i=0;i<num.length;i++){ set.add(num[i]); } int max = 0; //还是遍历数组,hashset不好遍历 for(int i=0;i<num.length;i++){ int count = 1; int down = num[i]-1; while(set.contains(down)){ //System.out.println("contains:"+down); set.remove(down); count++; down--; } int up = num[i]+1; while(set.contains(up)){ set.remove(up); count++; up++; } max = Math.max(max, count); } 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
- Android中webview的使用
- springMVC笔记系列(5)——@RequestMapping请求value的通配符详解
- 有向图边的分类
- hls协议(最清晰的讲解)
- 前言&绪论
- Longest Consecutive Sequence
- Retrofit2.0
- 利用Android Studio、MAT对Android进行内存泄漏检测
- php 将数组结果作为返回值保存到php文件中
- WinCE下,快速编译驱动及BSP
- 嵌入式系统知识体系、学习误区及建议
- android 快速开发三、 获取应用的crash信息
- 掌握感性思路,轻松写出高质量的SEO原创文章
- 关于object类的初次认识