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

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

题目要求:

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://leetcode.com/problems/longest-consecutive-sequence/

public class Solution {        public static int longestConsecutive(int[] num) {        HashMap
hash_array=new HashMap
(); for(int ele: num){ hash_array.put(new Integer(ele), new Boolean(false)); } int max_result=0; for(int element:num){ int result=0; for(int ele_x=element;(hash_array.containsKey(ele_x)) && (hash_array.get(ele_x)==false);ele_x++){ hash_array.put(new Integer(ele_x),new Boolean(true)); result++; } for(int ele_y=element-1;hash_array.containsKey(ele_y) &&(hash_array.get(ele_y)==false);ele_y--){ hash_array.put(new Integer(ele_y),new Boolean(true)); result++; } max_result=result>max_result?result:max_result; } return max_result; }}

数据结构题型,主要复杂度是N不能先排序在遍历最长连续子串,考虑使用hash表查找,查找复杂度就变成了1,把所有元素遍历完一遍后,即能得出最长连续子串。

转载于:https://www.cnblogs.com/charlesdoit/p/4331021.html

你可能感兴趣的文章
iOS开发UI篇—Quartz2D使用(绘制基本图形)
查看>>
docker固定IP地址重启不变
查看>>
[Swift]LeetCode128. 最长连续序列 | Longest Consecutive Sequence
查看>>
[Swift通天遁地]一、超级工具-(9)在地图视图MKMapView中添加支持交互动作的标注图标...
查看>>
js版base64()
查看>>
poj3006---素数筛法
查看>>
c语言结构体排序示例
查看>>
openresty nginx systemtap netdata
查看>>
[Angular] Make a chatbot with DialogFlow
查看>>
sd卡无法启动及zc706更改主频后可以进入uboot无法启动kernel的坑
查看>>
代理模式
查看>>
MongoDB 集合(Collection)对应的物理文件
查看>>
HighCharts绘制图表
查看>>
AWD批量Get_flag
查看>>
8.引用函数
查看>>
Gmail企业级邮箱的outlook配置
查看>>
在 Ubuntu 14.04 中配置 PXE 服务器
查看>>
AOP 横向切面-热插拔缓存
查看>>
桌面图标修复||桌面图标不正常
查看>>
JavaScript基础(四)关于对象及JSON
查看>>