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

LeetCode 热题 HOT 100 (024/100)【宇宙最简单版】

【哈希表】No. 0128 最长连续序列【中等】👉力扣对应题目指路

希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦
欢迎关注、订阅专栏 【力扣详解】谢谢你的支持!

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

  • 请你设计并实现时间复杂度为 O(n) 的算法解决此问题
  • 示例:nums = [100,4,200,1,3,2]
    输出:4
    解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4

🔥 思路:对于每个潜在的序列头元素 n (即找不到 n-1) 依次寻找 n+1, n+2, ... 直到找不到下一个;得到潜在最长连续序列长度

  • 要求时间复杂度为 O(n),所以要利用哈希表来实现 O(1) 的单次搜索复杂度

参考如上思路,给出详细步骤如下:

  • 步骤一⭐构建 nums 对应的 哈希表,本文用 set
  • 步骤二⭐找到每个潜在的序列头元素 n
  • 步骤三⭐获取以 n 为序列头元素的 (当前) 最长连续序列长度
  • 步骤四⭐ 更新全局最长连续序列长度
class Solution:def longestConsecutive(self, nums: List[int]) -> int:nums = set(nums)  # ---------------------- step 1result = 0for n in nums:if not n-1 in nums:  # --------------- step 2# -------------------------------- step 3temp_len = 1while n+1 in nums:temp_len += 1n += 1# -------------------------------- step 4result = max(result, temp_len)return result

希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦
🔥 LeetCode 热题 HOT 100

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

相关文章:

  • 如何在AWS上进行 环境迁移
  • 云服务器和物理服务器的优缺点对比
  • postgreSQL16添加审计功能
  • 如何应用OceanBase 的实时SQL诊断,解决AP场景下的痛点
  • 【数据结构】—— 栈
  • Kafka服务端日志详解
  • C++ 数据语义学——进程内存空间布局
  • 【数据结构】六、图:2.邻接矩阵、邻接表(有向图、无向图、带权图)
  • 财务会计与管理会计(三)
  • 【数据结构和算法】(基础篇三)——栈和队列
  • Linux截图工具gsnap移植arm平台过程记录
  • 密码学知识点02
  • 实现Pytest测试用例按顺序循环执行多次
  • SVN工作原理和使用示例
  • 云服务器部署Java+Vue前后端分离项目
  • C++的7种设计模式原则
  • 24.8.5数据结构|栈
  • LeetCode算法题训练
  • Python | Leetcode Python题解之第326题3的幂
  • 手机CPU性能天梯图(2024年8月),含安兔兔/GB6/3DMark跑分
  • 通过实际的例子和代码演示,可以更好地理解 `optional` 的使用方式和应用场景
  • Java 电商秒杀系统优化实战:实现进阶示例详解与 RabbitMQ 配置
  • 路径规划 | 基于狼群算法的无人机路径规划(Matlab)
  • 13-python函数返回值和装包的后续提取数据方法——解包
  • I. 对线
  • Topsis法模型(评价类问题)
  • HPA 与pod调度
  • jupyter下载
  • 蓝桥杯双周赛 第 16 场 小白入门赛 解题报告 | 珂学家 | 七夕娱乐场
  • [C++] 深入理解面向对象编程特性 : 继承