【LeetCode-中等题】128. 最长连续序列

news/2024/11/17 2:46:34/

题目

在这里插入图片描述

题解一:HeshSet+枚举

思路:先对数组进行set去重,核心就是,先找出临界值(假设以最小临界为例,那么这个临界值自己就是最小值,),以临界值不断做加1操作,看加一后的数是否在set集合中没,如果在,继续做加一做对比操作,更新最长连续序列长度。

在这里插入图片描述

代码:

 public int longestConsecutive(int[] nums) {//用于对数组去重Set<Integer> numset = new HashSet<>();for(int n:nums){numset.add(n);}//记录最长数字连续序列int longMax = 0;//先找出临界最小的数(减一的数不存在set集合中),//然后让最小的数循环做加一操作,看加1后的数是否在set集合当中,是就更新长度,直到不在连续,for(int nux :numset){//先找出临界最小的数(减一的数不存在set集合中),if(!numset.contains(nux-1)){//找到最小临界值int curnux = nux;//记录起始长度int length = 1 ;// 循环做加一操作,看加1后的数是否在set集合当中,是就更新长度,直到不在连续,while(numset.contains(curnux+1)){length += 1;//更新长度curnux += 1;//加一找下一个连续数是否在set集合中}//每次length与longMax比较  取最大就是当前nux最长数字连续序列longMax =Math.max(longMax,length);}}return longMax;}

http://www.ppmy.cn/news/1050032.html

相关文章

来自西安交大的chisel教程

第零章 序 Chisel教程汇总__iChthyosaur的博客-CSDN博客 来自西安交大的chisel教程 出过书

R语言数据整理技巧(1)-读写、数据类型、重构

1、读取和写入数据&#xff1a;xlsx&#xff1b;txt; rdata pathC:\\Users setwd(path) #读取 #读取csv read.csv(.csv) #读取txt read.txt(.txt) #读取剪贴板 read.table("clipboard") #读取xlsx library(readxl) read_xlsx(.xlsx) #读取rdata文件 load(.radta) #写…

vue-router在vue2/3区别

构建选项区别 vue2-router const router-new VueRouter({mode:history,base:_name,})vue-next-router import { createRouter,createWebHistory} from vue-next-router const routercreateRouter({history:createHistory(/) })在上述代码中我们发现,vue2中的构建选项mode和ba…

代码随想录day11

20. 有效的括号 ● 力扣题目链接 ● 给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串&#xff0c;判断字符串是否有效。 ● 有效字符串需满足&#xff1a; ● 左括号必须用相同类型的右括号闭合。 ● 左…

数学建模-规划工具箱yalmip

官网下载 实例 %% yalmip 求解 yalmip clc;clear;close all; %% %sdpvar实型变量 intvar 整形变量 binvar 0-1型变量 psdpvar(3,1); %定义变量 %目标函数 要把求最大值转化为最小值 Objective-p(1)^2p(2)^2-p(2)*p(3);%约束条件 Constraints[0<p<1,(p(1)^2p…

功能性需求与非功能性需求的区别

如果你曾经负责过软件项目开展的全过程&#xff0c;就会知道需求定义在项目后期的重要性。清晰、明确的需求定义不仅有助于有效地管理客户期望&#xff0c;也有助于指导项目的顺利开展。 在项目前期阶段&#xff0c;如果需求定义不清晰&#xff0c;就会导致项目范围和成果定义…

clickhouse的ttl

TTL 只能在MergeTree系列表中使用&#xff0c;和分区一样&#xff0c;也只能在mergetree系列表中用 列: 当列的时间超过设置的值 -整列数据被删除 表: 当表中的某个写行的时间超过设置的值 -整行会被删除 定义值的存储时间。只能为MergeTree系列表指定。确定值的生存期。 当…

【python办公自动化】PysimpleGUI中的popup弹窗中的按钮设置居中

PysimpleGUI中的popup弹窗中的按钮设置居中 背景问题解决背景 默认的popup弹窗中的OK按钮是在最下面偏左侧一些,有时需要将按钮放置居中 问题解决 首先找到pysimplegui源代码文件中popup的部分 然后定位到19388行,源文件内容如下 关于popup弹窗OK按钮的设置,将pad属性…