当前位置: 首页 > news >正文

面试150 最长连续序列

在这里插入图片描述

思路

我们首先对数组进行升序排序。排序后,遍历过程中如果遇到相邻元素相同的情况,则跳过以避免重复计算;如果当前元素等于前一个元素加一,说明是连续序列的一部分,此时将当前连续序列长度加一;如果不满足连续条件(即当前元素不等于前一个元素 + 1),则重置连续计数器。为了记录最长连续序列的长度,引入变量 ans,在每次更新时取当前长度和 ans 的最大值。遍历结束后,返回 ans 和当前计数值 count 中的较大者作为最终结果。

class Solution:def longestConsecutive(self, nums: List[int]) -> int:if not nums:return 0nums.sort() #排序count=1ans=1n=len(nums)for i in range(1,n):if nums[i]==nums[i-1]:continueelif nums[i]==nums[i-1]+1:count+=1#中途可能会断开else:ans=max(ans,count)count=1return max(count,ans)
http://www.dtcms.com/a/267539.html

相关文章:

  • Node.js worker_threads深入讲解教程
  • 【LeetCode102.二叉树的层序遍历】vs.【LeetCode103.二叉树的锯齿形层序遍历】
  • Apollo自动驾驶系统中Planning模块的架构设计与核心逻辑解析(流程伪代码示例)
  • 45-使用scale实现图形缩放
  • 探索 .NET 桌面开发:WinForms、WPF、.NET MAUI 和 Avalonia 的全面对比(截至2025年7月)
  • 炼丹炉 TD-trainer 的安装与部署,LoRA、dreambooth
  • <三>Sping-AI alibaba 文生图
  • Cursor/VScode ,点击运行按钮,就打开新的终端,如何设置为在当前终端运行文件而不是重新打开终端----一招搞定篇
  • 数字孪生技术引领UI前端设计新潮流:虚拟现实的深度集成
  • 在sf=0.1时测试fireducks、duckdb、polars的tpch
  • OpenLayers 设置线段样式
  • 深入学习c++之---AVL树
  • 支持零样本和少样本的文本到语音48k star的配音工具:GPT-SoVITS-WebUI
  • 完成ssl不安全警告
  • DQL-6-分页查询
  • Redis的编译安装
  • PVE DDNS IPV6
  • 超详细yolo8/11-detect目标检测全流程概述:配置环境、数据标注、训练、验证/预测、onnx部署(c++/python)详解
  • Altium Designer使用教程 第一章(Altium Designer工程与窗口)
  • ESXi 8.0 SATA硬盘直通
  • python-字符串
  • 量化可复用的UI评审标准(试验稿)
  • OPENPPP2 VDNS 核心域模块深度解析
  • 电源管理芯片(PMIC) 和 电池管理芯片(BMIC)又是什么?ING
  • webpack+vite前端构建工具 -11实战中的配置技巧
  • 合肥工会入会的注意事项和常见问答
  • springBoot接口层时间参数JSON序列化问题,兼容处理
  • Modbus_TCP_V4 客户端
  • Day52
  • 人工智能-基础篇-18-什么是RAG(检索增强生成:知识库+向量化技术+大语言模型LLM整合的技术框架)