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

128.最长连续序列

最长时间就是每个元素都作为头遍历一遍取最大长度

set优化,散列存储找符合要求的元素,一次遍历,超时(78/81)代码

class Solution {public int longestConsecutive(int[] nums) {Set<Integer> set = new HashSet<>();int Lmax=0;for(int i=0;i<nums.length;i++){set.add(nums[i]);}//必须先把所有元素存到set中之后再遍历判断for(int i=0;i<nums.length;i++){if(set.contains(nums[i]-1)==false){int curNum=nums[i];int curMax=1;while(set.contains(curNum+1)){curNum+=1;curMax+=1;}Lmax=Math.max(Lmax,curMax);}}return Lmax;}
}

二次优化,只需要遍历set集合即可,nums数组中可能存在多个相同元素而set实现去重

遍历set的方法

1. 使用增强型 for 循环(for-each 循环)

这是最简洁和常用的方法,适用于只需要访问集合元素而不需要修改集合的情况。

import java.util.HashSet;
import java.util.Set;public class Example {public static void main(String[] args) {Set<String> set = new HashSet<>();set.add("Apple");set.add("Banana");set.add("Cherry");for (String element : set) {System.out.println(element);}}
}

优化代码过了

class Solution {public int longestConsecutive(int[] nums) {Set<Integer> set = new HashSet<>();int Lmax=0;for(int i=0;i<nums.length;i++){set.add(nums[i]);}//必须先把所有元素存到set中之后再遍历判断for(int elem : set){if(set.contains(elem-1)==false){int curNum=elem;int curMax=1;while(set.contains(curNum+1)){curNum+=1;curMax+=1;}Lmax=Math.max(Lmax,curMax);}}return Lmax;}
}

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

相关文章:

  • 本地开发Anchor智能合约:效率翻倍的秘密
  • windows下 tomcat的安装部署
  • 机器学习17-发展历史补充
  • 第一章-人工智能概述-机器学习基础与应用(1/36)
  • spring-ai 1.0.0 (1)模型调用能力
  • day43 复习日(猫狗图像分类)
  • 算法第48天|单调栈:42. 接雨水、84.柱状图中最大的矩形
  • 从零开始理解百度语音识别API的Python实现
  • 抖音图文带货和短视频带货有什么区别
  • 深入解析设备管理系统新趋势:物联网与云原生驱动的智能化实践
  • OpenBayes 一周速览丨Nanonets-OCR-s深度语义理解,精准结构化转换;HLE人类问题推理基准上线,含2.5k题目,助力封闭式评估体系构建
  • COZE API上传文件 直接从前端发送就可以,而通过后端发请求给CozeAPI就不行,为什么?
  • 【百日精通JAVA | 数据结构篇】 一文了解泛型体系
  • 新手向:Anaconda3的安装与使用方法
  • AMS流媒体服务器-新版(h265-flv)
  • FFMpeg的AVFrame数据格式解析
  • IDE如何快速切换JLINK版本
  • vue 开启 source-map 后构建速度会很慢
  • Android杂谈(一):悬浮球
  • 随记:WebMvcConfigurationSupport 和WebMvcConfigurer 的区别
  • DevSecOps时代下测试工具的全新范式:从孤立到融合的质变之路
  • ubuntu22.04系统kubeadm部署k8s高可用集群
  • 伏羲微官网企业建站授权证书/防伪查询/三合一应用【前端开源】
  • 2D写实交互数字人如何重塑服务体验?
  • [特殊字符] Windows 查看端口占用及服务来源教程(以 9018 端口为例)
  • TCP 重传机制详解:原理、变体与故障排查应用
  • Python 多版本与开发环境治理架构设计
  • 【鸿蒙开发实战】蓝牙功能的开发
  • Vue3 中 Axios 深度整合指南:从基础到高级实践引言总结
  • WPF Binding 的 Mode 属性