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

Leetcode Hot 100最长连续序列

题目描述

在这里插入图片描述

思路

思路1

我们对数组进行排序,通过遍历数组,如果前一个数组的值+1等于当前数组的值,计数count++,如果中断了,计算当前最大连续长度的值ans,并且统计值count重新置为1,最后返回count与ans的最大值

class Solution:def longestConsecutive(self, nums: List[int]) -> int:if not nums:return 0count=1ans=0nums.sort() #排序n=len(nums)for i in range(1,n):if nums[i]==nums[i-1]: #重复的跳过continueelif nums[i]==nums[i-1]+1:count+=1else:ans=max(ans,count)count=1# 中断的时候需要重新置1return max(count,ans)

思路2

不需要排序,通过哈希集合,遍历数组来判断每个数是否为连续序列开头的那个数

class Solution:def longestConsecutive(self, nums: List[int]) -> int:length=0num_set=set(nums)for num in num_set:if num-1 not in num_set:# 检查开头cur=numcur_lenth=1while cur+1 in num_set:cur+=1cur_lenth+=1length=max(length,cur_lenth)return length
http://www.xdnf.cn/news/4179.html

相关文章:

  • MongoDB常用操作示例
  • vue3+ts学习!
  • Banana Pi BPI-CM6 是一款八核 RISC-V 模块,兼容 Raspberry Pi CM 载板
  • 算法思想之深度优先搜索(DFS)、递归以及案例(最多能得到多少克黄金、精准核酸检测、最富裕的小家庭)
  • 【Redis篇】linux 7.6安装单机Redis7.0(参数优化详解)
  • Kotlin数据类在Android开发中的应用
  • Linux56 YUM源配置
  • 『Linux_网络』 基于状态机的Connect断线重连
  • 机器学习实操 第二部分 神经网路和深度学习 第13章 使用TensorFlow加载和预处理数据
  • 修改MySQL枚举类型添加‘location‘值
  • 什么是gitlab自动部署,怎么配置gitlab自动部署
  • 论文阅读笔记——ROBOGROUND: Robotic Manipulation with Grounded Vision-Language Priors
  • tinyrenderer笔记(中)
  • Debian系统上PostgreSQL15版本安装调试插件及DBeaver相应配置
  • Flink + Kafka 构建实时指标体系的实战方法论
  • 高防CDN、高防IP vs 高防服务器:核心优势与选型指南
  • Linux Input子系统与驱动开发实战
  • 【Python pass 语句】
  • 人工智能与智能合约:如何用AI优化区块链技术中的合约执行?
  • 基于docker使用showdoc搭建API开发文档服务器
  • Desfire Ev1\Ev2\Ev3卡DES\3K3DES\AES加解密读写VB.Net示例源码
  • 金升阳科技:配套AC/DC砖类电源的高性能滤波器
  • 信息增益详解
  • Matplotlib 饼图
  • 【mysql】常用命令
  • mac m2 安装 hbase
  • git的push.default配置详解
  • 深入理解高性能网络通信:从内核源码到云原生实践
  • Unity中Pico4开发 物体跟随手势模型进行移动
  • vue2 provide 后 inject 数据不是响应式的,不实时更新