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

力扣-哈希-最长连续序列

题目

给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。

请你设计并实现时间复杂度为 O(n) 的算法解决此问题。

示例 1:

**输入:**nums = [100,4,200,1,3,2]
**输出:**4
**解释:**最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。

示例 2:

**输入:**nums = [0,3,7,2,5,8,4,6,0,1]
**输出:**9

提示:

  • 0 <= nums.length <= 105
  • -109 <= nums[i] <= 109

思路

这道题的特点一句话总结,用数字做为key,用当前数字的最大连续长度作为value,每次取num-1和num+1查一下有没有length没有则置为0,有则取为left和right,新的length为left+right+1同时更新左边界和右边界下哈希表的value,即hash[left - length] hash[right+length] = length,过一遍返回最长的Length

http://www.lryc.cn/news/142609.html

相关文章:

  • Java线程 - 详解(1)
  • 结构体-C语言(初阶)
  • 【网络】HTTPS的加密
  • Nacos安装指南
  • java-Optional 类详解
  • sql数据库怎么备份,sql 实时备份
  • RK3399平台开发系列讲解(存储篇)Linux 存储系统的 I/O 栈
  • Java“牵手”天猫淘口令转换API接口数据,天猫API接口申请指南
  • postgresql 条件表达式
  • 姜启源数学模型第五版第五章火箭发射升空
  • 局域网中电脑共享文件给手机
  • 线段树练习
  • Mybatis映射.动态sql.分页
  • springboot向resources下写文件的两种方式
  • Sloare flare网卡信息
  • Redis知识点整理
  • React笔记(一)初识React
  • C语言——指针进阶(一)
  • 【ArcGIS Pro二次开发】(62):复制字段
  • 【Tkinter系列02/5】界面初步和布局
  • 2023年03月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 介绍一些编程语言— CSS 语言
  • 一文讲清楚c/c++中的宏
  • typescript进阶语法
  • 宝塔终端 查看 7003端口 占用 并且杀死
  • 可解释性的相关介绍
  • AUTOSAR规范与ECU软件开发(实践篇)6.7 服务软件组件与应用层软件组件端口连接
  • 菜鸟教程《Python 3 教程》笔记(6):列表
  • LeetCode-56-合并区间
  • Git gui教程---番外篇 gitignore 的文件使用