首页/新闻资讯/正文详情

LeetCode-128. 最长连续序列

发布时间:2026/9/24 6:40:09 来源:云帆数科 栏目:资讯中心
LeetCode-128. 最长连续序列
classSolution:deflongestConsecutive(self,nums:List[int])-int:stset(nums)# 把 nums 转成哈希集合ans0forxinst:# 遍历哈希集合ifx-1inst:# 如果 x 不是序列的起点直接跳过continue# x 是序列的起点yx1whileyinst:# 不断查找下一个数是否在哈希集合中y1# 循环结束后y-1 是最后一个在哈希集合中的数ansmax(ans,y-x)# 从 x 到 y-1 一共 y-x 个数returnans首先本题是不能排序的因为排序的时间复杂度是 O(nlogn)不符合题目 O(n) 的要求。核心思路对于 nums 中的元素 x以 x 为起点不断查找下一个数 x1,x2,x3,… 是否在 nums 中同时统计连续序列的长度。为了做到 O(n) 时间复杂度需要两个关键优化把 nums 中的数都放入一个哈希集合中这样可以 O(1) 判断数字是否在 nums 中。如果 x−1 在哈希集合中则不以 x 为起点。为什么因为以 x−1 为起点计算出的序列长度一定比以 x 为起点计算出的序列长度要长这样可以避免大量重复计算。比如 nums[3,2,4,5]从 3 开始我们可以找到 3,4,5 这个连续序列而从 2 开始我们可以找到 2,3,4,5 这个连续序列一定比从 3 开始的序列更长。⚠注意遍历元素的时候要遍历哈希集合而不是 nums如果 nums[1,1,1,…,1,2,3,4,5,…]前一半都是 1遍历 nums 的做法会导致每个 1 都跑一个 O(n) 的循环总的循环次数是 O(n2)会超时。时间复杂度O(n)其中 n 是 nums 的长度。在二重循环中每个元素至多遍历两次在外层循环中遍历一次在内层循环中遍历一次。所以二重循环的时间复杂度是 O(n) 的。比如 nums[1,2,3,4]其中 2,3,4 不会进入内层循环只有 1 会进入内层循环。空间复杂度O(m)。其中 m 是 nums 中的不同元素个数。

相关推荐

Air6208工业级模组选型实战:告别参数对比,直击产线可靠性
Air6208工业级模组选型实战:告别参数对比,直击产线可靠性

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 6:40:03

RP2040/RP2350 USB主机实战:从ULPI PHY到HID鼠标驱动
RP2040/RP2350 USB主机实战:从ULPI PHY到HID鼠标驱动

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 6:39:57

以 DESIGN.md 建立 Agent 优先仓库的设计文档体系:learn-harness-engineering 仓库模板实践
以 DESIGN.md 建立 Agent 优先仓库的设计文档体系:learn-harness-engineering 仓库模板实践

【免费下载链接】learn-harness-engineering Harness engineering beginner tutorial, from 0 to 1 项目地址: https://gitcode.com/gh_mirrors/le/learn-harness-engineering 点击查看 免费下载 导读 本篇文章围绕 learn-harness-engineering 开源仓库中 OpenAI … · 2026/9/24 6:39:57

EMQX 升级 gen_rpc 3.5.1:根治节点不可达时的 Crash 日志长尾与 `failed_to_connect_server` 刷屏
EMQX 升级 gen_rpc 3.5.1:根治节点不可达时的 Crash 日志长尾与 `failed_to_connect_server` 刷屏

后端物联网消息队列通信 【免费下载链接】emqx The most scalable and reliable MQTT broker for AI, IoT, IIoT and connected vehicles 项目地址: https://gitcode.com/gh_mirrors/em/emqx 点击查看 免费下载 导读 本文围绕 EMQX 官方变更记录 fix-16453.en.md … · 2026/9/24 7:31:45

ESP32-S3-BOX-3实战:智能语音与物联网联动开发指南
ESP32-S3-BOX-3实战:智能语音与物联网联动开发指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 7:31:33

电脑故障处理打印版:一张纸搞定蓝屏、C盘满、重装排查
电脑故障处理打印版:一张纸搞定蓝屏、C盘满、重装排查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 7:31:27

松下A5/A6伺服X4接口位置模式接线指南:7个关键引脚与PLC匹配接法
松下A5/A6伺服X4接口位置模式接线指南:7个关键引脚与PLC匹配接法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 7:31:08

1850元X99平台实战:E5-2696V3编译Android 12源码全记录
1850元X99平台实战:E5-2696V3编译Android 12源码全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 7:30:56

轻量级键盘检测工具:基于Raw Input的精准状态诊断
轻量级键盘检测工具:基于Raw Input的精准状态诊断

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 7:30:44

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码