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

【LeetCode 128】 最长连续子序列

判断前一位数在不在字典中是这道题的关键之处,这样就可以避免重复查找,从而达到O(n) 的时间复杂度。如果没有这个判断,那么时间复杂度最坏也得是O(N^2)级别的。

1. 题目

2. 分析

  • 合理利用数据结构。本题中使用了set来保存数组的元素,这是为了加快数据的查找。
  • 聪明地利用规则,从而进一步减少时间复杂度。

3. 代码

class Solution:def longestConsecutive(self, nums: List[int]) -> int:if len(nums) == 0:return 0 nums_set = set(nums) # 使用set存储便于查找max_res = 1for i in nums:# 如果i-1 不在set中,那么就必须亲自下场计算值# 正是这个if 保证了 O(n) 时间复杂度if i-1 not in nums_set:cnt = 1start = i+1while(start in nums_set):cnt+=1start += 1max_res = max(max_res, cnt)return max_res

相关文章:

  • Dubbo 3.x源码(23)—Dubbo服务引用源码(6)MigrationRuleListener迁移规则监听器
  • C# —— 字符串的相关属性和方法
  • 事务AOP
  • Java毕业设计 基于SSM助学贷款管理系统
  • 打印mybatis的sql日志
  • 微信小程序,分享和反馈功能
  • C#标志位的使用
  • SpringMVC的使用
  • python写一个ai agent对接仓库管理系统的业务流程
  • 汽车IVI中控开发入门及进阶(二十七):车载摄像头vehicle camera
  • corona渲染器与vray比哪个好?支持云渲染平台吗
  • 部署yum仓库
  • kotlin 中的字符
  • 注意力机制和Transformer模型各部分功能解释
  • WPF框架,修改ComboBox控件背景色 ,为何如此困难?
  • SegmentFault for Android 3.0 发布
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • Angular Elements 及其运作原理
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • es6(二):字符串的扩展
  • go append函数以及写入
  • hadoop集群管理系统搭建规划说明
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • mongo索引构建
  • React-生命周期杂记
  • spring-boot List转Page
  • vue 个人积累(使用工具,组件)
  • 大快搜索数据爬虫技术实例安装教学篇
  • 给第三方使用接口的 URL 签名实现
  • 码农张的Bug人生 - 见面之礼
  • 试着探索高并发下的系统架构面貌
  • 手写双向链表LinkedList的几个常用功能
  • 说说动画卡顿的解决方案
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​Java并发新构件之Exchanger
  • #android不同版本废弃api,新api。
  • #Linux(帮助手册)
  • (二)hibernate配置管理
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (数据结构)顺序表的定义
  • (一)appium-desktop定位元素原理
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)linux下的时间函数使用
  • (转)Scala的“=”符号简介
  • (转)关于多人操作数据的处理策略
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .java 9 找不到符号_java找不到符号
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .Net mvc总结
  • .Net OpenCVSharp生成灰度图和二值图
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • /bin/bash^M: bad interpreter: No such file or directory