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

[Leetcode 128][Medium] 最长连续序列

目录

题目描述

整体思路

具体代码


题目描述

原题链接

整体思路

        首先看到找连续升序排序的最长序列长度,想到对数组进行排序预处理。但是排序算法时间复杂度需要O(nlogn),题目要求时间复杂度为O(n)。因此不能进行排序与处理

        接着想到数据结构哈希表,哈希表适合用于无序的数据问题。因此可以将数组元素全部存入哈希表,而后遍历哈希表,每次遍历都要找出连续升序排序的序列的头。找到头就要继续找下一个元素直到序列尾。然后保留每次寻找过程的序列长度的最大值。

具体代码

class Solution {
public:int longestConsecutive(vector<int>& nums) {if(nums.size()==0) return 0;//题目中说了数组长度可能为0set<int> s;for(int i:nums) s.insert(i);int ml=INT_MIN;for(int i:s){if(!s.count(i-1)){//连续升序序列中,不可能有比序列头小1的元素int cl=1;int nxt=i+1;while(s.count(nxt)){cl++;nxt++;}ml=max(ml,cl);}}return ml;}
};

相关文章:

  • 004 插入排序(lua)
  • OpenSSL EVP详解
  • PolyGen: An Autoregressive Generative Model of 3D Meshes代码polygen_encoder.py解读
  • UE4_材质_水体的反射与折射制作_Ben教程
  • C#异常捕获
  • 在nginx中设置相对路径跳转的方式
  • LeetCode 子集
  • Dubbo用法示例
  • 003-GeoGebra如何无缝嵌入到PPT里
  • 动态渲染dom
  • php 命令行模式详解
  • 安卓模拟器如何修改ip地址
  • 【RT摩拳擦掌】RT云端测试之百度天工物接入构建(设备型)
  • MySQL 语法教程
  • 【SCAU操作系统】期末复习简答及计算题例题解析
  • 【mysql】环境安装、服务启动、密码设置
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 【面试系列】之二:关于js原型
  • CentOS从零开始部署Nodejs项目
  • C语言笔记(第一章:C语言编程)
  • Docker 笔记(2):Dockerfile
  • ES6 ...操作符
  • HTTP那些事
  • js 实现textarea输入字数提示
  • Laravel 中的一个后期静态绑定
  • Mybatis初体验
  • Puppeteer:浏览器控制器
  • React16时代,该用什么姿势写 React ?
  • React系列之 Redux 架构模式
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Spark RDD学习: aggregate函数
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 后端_ThinkPHP5
  • 基于组件的设计工作流与界面抽象
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 前端临床手札——文件上传
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 一个完整Java Web项目背后的密码
  • 用简单代码看卷积组块发展
  • MyCAT水平分库
  • 通过调用文摘列表API获取文摘
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • # 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项
  • #etcd#安装时出错
  • $.each()与$(selector).each()
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (55)MOS管专题--->(10)MOS管的封装
  • (LeetCode) T14. Longest Common Prefix
  • (八)c52学习之旅-中断实验
  • (论文阅读40-45)图像描述1
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (未解决)macOS matplotlib 中文是方框
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。