【哈希】LC 128.最长连续序列
文章目录前言一、题目1、原题链接2、题目描述二、个人思路整理1、思路分析2、解题代码三、知识风暴前言本专栏文章为《LeetCode 热题 100》的刷题题解相关内容如有侵权立即删除。一、题目1、原题链接128.最长连续序列2、题目描述二、个人思路整理1、思路分析思路参考最长连续序列、两个关键优化O(n) 时间复杂度Python/Java/C/C/Go/JS/Rust、https://leetcode.cn/problems/longest-consecutive-sequence/solutions/276931/zui-chang-lian-xu-xu-lie-by-leetcode-solution/comments/2283513/此题复杂度限制在O(n)因此不能使用排序快排复杂度为O(nlogn)超出题目复杂度要求所以需要换一种思路核心就是快速判断数组中的每个元素是否可能是某一个连续序列的起点开头元素快速判断想到利用哈希表如果可能是则进行遍历查找后续递增元素是否存在若一定不是则直接跳过后续步骤进行数组中下一个元素的判断。如何进行判断数组中的元素是否可能是最长连续序列的开头元素呢先说不可能的情况当遍历到的元素值为i但数组中存在i-1那么说明当前元素就没有必要进行后续递增序列的计算因为以i-1开头的序列一定要比以i开头的序列要长不论这个以i-1开头的连续序列长度是先与以i开头的连续序列长度计算的还是迟于它最终当前以i开头计算出的连续序列的最大长度都会被更新所以这种情况没有必要再对以i开头的连续序列长度的计算排除上述不可能情况其他情况都有可能咱们需要依次计算以其他元素开头的连续序列的长度然后最终得到最大的长度。由于原数组可能存在重复元素所以我们需要去重后再进行计算以减低算法复杂度。2、解题代码classSolution{public:intlongestConsecutive(vectorintnums){unordered_setints;intmax_len0;//记录全局最大长度for(autonum:nums){s.insert(num);}for(autoi:s){if(s.count(i-1))continue;//如果i-1存在说明i不是起点跳过计算//如果找到一个起点计算以这个起点开始的序列长度inttmpi1;intcur_len1;//依次在哈希表中查找递增的元素是否存在存在则当前序列长度加一同时继续判断下一个递增元素while(s.count(tmp)){cur_len;tmp;}max_lenmax(max_len,cur_len);}returnmax_len;}};三、知识风暴空间换时间利用哈希表O(1)的查询效率代替暴力循环去匹配的过程

相关新闻

高效构建黑苹果系统:OpenCore Configurator专业配置实战指南

高效构建黑苹果系统:OpenCore Configurator专业配置实战指南

高效构建黑苹果系统:OpenCore Configurator专业配置实战指南 【免费下载链接】OpenCore-Configurator A configurator for the OpenCore Bootloader 项目地址: https://gitcode.com/gh_mirrors/op/OpenCore-Configurator 在非苹果硬件上运行macOS系统&#x…

2026/7/18 21:06:48 阅读更多 →
AI回答采集:如何从原始文本中提取品牌提及和推荐

AI回答采集:如何从原始文本中提取品牌提及和推荐

业务背景与实际约束 在AI搜索和智能问答场景中,品牌方需要了解自己的品牌在AI回答中如何被提及和推荐。然而,AI生成的文本结构多变,品牌可能以全称、简称、别名出现,推荐信号词(如“推荐”“选择”“值得考虑”&#x…

2026/7/18 21:06:48 阅读更多 →
测试方法和测试级别之间的区别

测试方法和测试级别之间的区别

测试级别 (Testing Levels) 就像是盖楼的楼层,回答了“在哪个阶段测”的问题,决定了测试的范围和对象。 测试方法 (Testing Methods) 则像是检查的工具,回答了“用什么方式测”的问题,决定了测试的视角和手段。 一个是在不同建设阶段进行的检查(级别),另一个是检查时使…

2026/7/18 21:06:48 阅读更多 →

最新新闻

数据理解:从数字到决策的认知艺术

数据理解:从数字到决策的认知艺术

1. 这不是数据可视化,而是数据理解的艺术——一位从业十年的数据从业者的真实体会“数据理解”这四个字,听起来像教科书里的术语,但在我带过的37个跨行业数据项目里,它从来不是第一步要写的文档标题,而是每次踩坑后回溯…

2026/7/19 4:35:54 阅读更多 →
Triton C++后端开发实战:从环境搭建到性能优化全指南

Triton C++后端开发实战:从环境搭建到性能优化全指南

1. 项目概述:为什么需要深入Triton C后端?在AI模型部署的战场上,推理引擎的性能直接决定了线上服务的响应速度、吞吐量和成本。当你已经熟练使用TensorRT、ONNX Runtime等框架,或者对Triton Inference Server的Python后端感到性能…

2026/7/19 4:35:54 阅读更多 →
STM32F103C8T6驱动DHT11温湿度传感器的实现与优化

STM32F103C8T6驱动DHT11温湿度传感器的实现与优化

1. 项目背景与核心目标 在嵌入式开发中,温湿度传感器DHT11因其低成本、易用性成为常见选择。但实际项目中,开发者常面临三个痛点:一是不同硬件平台移植困难;二是时序控制精度不足导致数据读取失败;三是缺乏统一的错误处…

2026/7/19 4:35:54 阅读更多 →
化学AI行业现状与2026年趋势展望

化学AI行业现状与2026年趋势展望

1. 化学AI行业现状与2026年趋势展望化学与人工智能的交叉领域正在经历爆发式增长。根据Gartner最新报告,到2026年全球化学AI市场规模预计将达到247亿美元,年复合增长率高达34.7%。这个领域的公司主要分为三类:传统化工巨头的AI实验室&#xf…

2026/7/19 4:35:54 阅读更多 →
ESP32-S3与DHT11温湿度传感器开发指南

ESP32-S3与DHT11温湿度传感器开发指南

1. ESP32-S3与DHT11温湿度传感器开发实战在物联网和嵌入式系统开发中,环境监测是最基础也最重要的功能之一。ESP32-S3作为乐鑫推出的高性能Wi-Fi/蓝牙双模芯片,配合DHT11数字温湿度传感器,可以快速构建一个低成本的温湿度监测系统。本文将详细…

2026/7/19 4:35:54 阅读更多 →
Postman接口自动化测试全攻略:从基础到CI/CD集成

Postman接口自动化测试全攻略:从基础到CI/CD集成

1. 项目概述:为什么我们需要Postman接口自动化测试?如果你是一名后端开发、测试工程师,或者正在学习API开发,那么“接口测试”这个词你一定不陌生。过去,我们可能习惯于用浏览器插件、甚至直接写几行curl命令来手动测试…

2026/7/19 4:34:53 阅读更多 →

日新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/19 0:00:40 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/19 0:00:40 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/19 0:00:40 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/19 0:00:40 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/19 0:00:40 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/19 0:00:40 阅读更多 →

月新闻