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

ops/2024/10/18 10:16:14/

128. 最长连续序列

示例 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

这题可以用哈希表来快速排查连续字串

 public int longestConsecutive(int[] nums) {unordered_set<int> num_set;for(const int& num:nums){num_set.insert(num);}int currentCount=0,currentNum=0,maxNum=0;for(const int& num:num_set){if(!num_set.count(num-1)){//这里主要是判断上一个数值在num_set中是否存在,不存在就将计数器currentCount从当前开始currentCount=1;currentNum=num;}while(num_set.count(currentNum+1)){//处理一直连续的最长字串currentCount++;currentNum++;}maxNum=max(maxNum,currentCount);}return maxNum;}

代码大概进行了解释,不理解的地方可以评论区留言~


http://www.ppmy.cn/ops/126451.html

相关文章

电能表预付费系统-标准传输规范(STS)(9)

6.1.7 TI: TariffIndex(TI 费率指数) A 2-digit number associated with a particular tariff that is allocated to a particular customer. The maintenance and the content of the tariff tables are the responsibility of the utility. 和具体费率有关的一个 2 …

《15分钟轻松学Go》教程目录

在AI快速发展的时代&#xff0c;学习Go语言依然很有用。Go语言擅长处理高并发任务&#xff0c;也就是说可以同时处理很多请求&#xff0c;这对于需要快速响应的AI服务非常重要。另外&#xff0c;Go适合用来处理和传输大量数据&#xff0c;非常适合机器学习模型的数据预处理。 …

c# .net switch用法

在 C# 中&#xff0c;switch 语句用于基于表达式的值执行不同的代码块。switch 语句类似于一系列 if-else 语句&#xff0c;但通常更简洁、易读。以下是 switch 语句的基本用法和一些高级特性。 基本用法 csharp复制代码 using System; class Program { static void Main() {…

[权威出刊|稳定检索]2024年云计算、大数据与计算机应用技术国际会议(CCBDCAT 2024)

2024年云计算、大数据与计算机应用技术国际会议 2024 International Conference on Cloud Computing, Big Data, and Computer Application Technology 【1】大会信息 会议名称&#xff1a;2024年云计算、大数据与计算机应用技术国际会议 会议简称&#xff1a;CCBDCAT 2024 大…

git基础操作

“git” 文章目录 文章有误敬请斧正 不胜感恩&#xff01; Git分布式版本控制工具1.目标:2.概述:3.git3.1git基本操作:常用命令配置git环境&#xff1a;git config --global创建本地空仓库&#xff1a;新建文件添加到本地仓库&#xff1a;git add、git commit -m添加到暂存区提…

k8s-NFS系统配置

NFS(network filesystem)&#xff0c;nfs文件系统在k8s中主要用于持久化存储&#xff0c;可以被多个pod访问和共享数据。 特点 1、数据持久性 nfs为k8s的pod提供了一种持久化数据的方式&#xff0c;即使pod被删除&#xff0c;数据也不会丢失&#xff0c;这是因为数据存在nfs服务…

docker run和docker start的区别

docker run 和 docker start 是 Docker 中两个常用的命令&#xff0c;它们之间的区别主要在于以下几点&#xff1a; 1. **docker run**&#xff1a; - docker run 命令用于创建并启动一个新的容器。 - 当你运行 docker run 命令时&#xff0c;Docker 会在后台创建一个新…

在电脑上免费分区的 5 个有效磁盘分区软件工具

磁盘分区可能是一个脆弱而复杂的过程&#xff0c;磁盘崩溃或用户设备受到病毒攻击的风险很高。因此&#xff0c;它们很难由用户单独或手动管理。本文详细介绍了可以帮助简化磁盘分区过程的不同软件工具、它们的功能和优点。那么让我们开始吧。 什么是磁盘分区工具&#xff1f; …