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

LeetCode 热题 100 - 哈希 - 128

128. 最长连续序列 - 力扣(LeetCode)

题目

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

请你设计并实现时间复杂度为 O(n) 的算法解决此问题。

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

示例 3:

输入:nums = [1,0,1,2]
输出:3

提示:

  • 0 <= nums.length <= 105
  • -109 <= nums[i] <= 109

自己的思路和代码

思路

        直接将数组进行排序,然后根据不同的情况直接进行判断就可以了。感觉不像是mid题目。

代码

class Solution {
public:int longestConsecutive(vector<int>& nums) {if(nums.empty()) return 0;sort(nums.begin(), nums.end());int sum = 1;int num = 1;for(int i=0; i<nums.size()-1; i++) {if(nums[i+1] - nums[i] == 1) {num++;} else if(nums[i] == nums[i+1]) {continue;} else {sum = max(num, sum);num = 1;}}sum = max(num, sum);return sum;}
};

相关文章:

  • ES6中的Map与Set数据结构的简单应用
  • 自定义注解facade 实现切面 进行日志记录和参数校验
  • Python训练第四十五天
  • 类似东郊到家app系统源码开发
  • 设计模式-2 结构型模式
  • 2025年- H71-Lc179--39.组合总和(回溯,组合)--Java版
  • Jenkins | Linux环境部署Jenkins与部署java项目
  • 【学习笔记】Lamba表达式[匿名函数]
  • `sendto()` / `recvfrom()` - 发送/接收数据(UDP)
  • this.$set() 的用法详解(Vue响应式系统相关)
  • 基于值函数的强化学习算法之Double Q-Learning详解
  • 示波器电流探头校准规范指南
  • 软考 系统架构设计师系列知识点之杂项集萃(81)
  • nginx 同时支持ipv4与ipv6 配置
  • 【Android基础回顾】五:AMS(Activity Manager Service)
  • 猎板PCB有铜半孔技术:深空探测器的“神经骨架”
  • Git 推送失败解决教程——error: failed to push some refs to
  • 一、ES6-let声明变量【解刨分析最详细】
  • 【Java Web】9.Maven高级
  • 双空间知识蒸馏用于大语言模型
  • 有什么做3维的案例网站/关键词优化推广公司排名
  • 网站建设在微信里打广告内容/友情链接qq群
  • 做网站(信科网络)/推广计划怎么做推广是什么
  • 湘潭seo网站优化/google官方下载
  • 网站制作咨询公司/百度网络推广营销
  • 如何用eclipse做网站/百度搜索网站优化