博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode——Longest Consecutive Sequence
阅读量:6199 次
发布时间:2019-06-21

本文共 902 字,大约阅读时间需要 3 分钟。

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.

原题链接:https://oj.leetcode.com/problems/longest-consecutive-sequence/

题目:给定一个未排序的整数数组,找出当中最长的递增元素序列的长度。

你的算法的复杂度为O(N)。

思路:使用HashSet,先将数组中的元素放入。去除了反复。同一时候,对数组中的每个元素。检測其左右側元素(+-1)是否在set集合中。

public static int longestConsecutive(int[] num) {		Set
set = new HashSet
(); int max = -1; for (int ele : num) set.add(ele); for (int ele : num) { int left = ele - 1; int right = ele + 1; int count = 1; while (set.contains(left)) { count++; set.remove(left); left--; } while (set.contains(right)) { count++; set.remove(right); right++; } max = Math.max(count, max); } return max; }

转载地址:http://qttca.baihongyu.com/

你可能感兴趣的文章
激光SLAM导航技术日益成熟 推动机器人进入发展新时代
查看>>
HDP中使用Apache发行版的Spark Client
查看>>
JVM(六)为什么新生代有两个Survivor分区?
查看>>
如何在Spring Boot中使用Hibernate Natural ID
查看>>
使用 Vim 搭建 Lua 开发环境
查看>>
关于微服务架构的思考
查看>>
MacBook常用快捷键
查看>>
高性能mongodb之执行计划
查看>>
算法与数据结构大系列 - NO.1 - 插入排序
查看>>
顺序加载图片方法
查看>>
In a nutshell: Tags are for overloading, for optimization.
查看>>
前端小助手 小程序
查看>>
offsetWidth/offsetHeight、offsetLeft/offsetTop、offsetParent
查看>>
开发者生存技能 - 代码规范篇
查看>>
2018.11.19秋招末第二波前端实习/校招小结
查看>>
HTTP协议原理和深入
查看>>
页面元素之「¥」符号的使用原则和技巧
查看>>
让电机动起来!Arduino驱动步进电机教程
查看>>
iOS开发年薪30W+,这样做就好!【经验篇】
查看>>
JS学习理解之闭包和高阶函数
查看>>