LeetCode 128. 最长连续序列(哈希set)

1. 题目

给定一个未排序的整数数组,找出最长连续序列的长度。

要求算法的时间复杂度为 O(n)。

示例:输入: [100, 4, 200, 1, 3, 2]
输出: 4
解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-consecutive-sequence
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 哈希set解题

  • 先将所有的数插入哈希set
  • 遍历每个数字,如果num-1不在set中(即num是起点,才开始计算长度)
  • 循环查找num+1在set中吗?长度+1
  • 更新最大的长度
    由于哈希的插入和查找是O(1)的时间复杂度,所以本题时间复杂度为O(n)
class Solution {
public:int longestConsecutive(vector<int>& nums) {unordered_set<int> s;int maxlen = 0, curlen = 0, n;for(int i = 0; i < nums.size(); ++i){s.insert(nums[i]);}for(int i = 0; i < nums.size(); ++i){if(s.find(nums[i]-1) == s.end())//nums[i]是连续数字的起点{curlen = 1;n = nums[i];while(s.find(n+1) != s.end())++curlen, ++n;}maxlen = max(maxlen,curlen);}return maxlen;}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478399.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

清华姚班教师劝退文:读博,你真的想好了吗?

文 | 张焕晨编 | 琰琰源 | AI科技评论先简单介绍一下我的背景。我本科在University of Wisconsin-Madison&#xff0c;然后去CMU念了个PhD&#xff0c;主要研究数据库方向。目前回国在清华IIIS&#xff08;姚班&#xff09;做助理教授&#xff0c;并且 cofound 了Singularity D…

纠删码存储系统中的投机性部分写技术

本文已被USENIX’17年度技术大会录用&#xff0c;此处为中文简译版。 阅读英文论文完整版请点击&#xff1a;Speculative Partial Writes in Erasure-Coded Systems 多副本和纠删码&#xff08;EC&#xff0c;Erasure Code&#xff09;是存储系统中常见的两种数据可靠性方法。与…

论文浅尝 - EMNLP | 通过元强化学习实现少样本复杂知识库问答

笔记整理 | 谭亦鸣&#xff0c;东南大学博士生来源&#xff1a;EMNLP 2020链接&#xff1a;https://www.aclweb.org/anthology/2020.emnlp-main.469.pdf本文关注聚合型复杂知识图谱问答任务&#xff0c;这类复杂问题的答案通常需要经过一些集合操作得到&#xff0c;例如&#x…

写了一篇关于 NLP 综述的综述!

文 | 小轶综述&#xff0c;往往是了解一个子领域最为高效的起点。然而&#xff0c;对于AI这样一个日新月异高速发展的行业&#xff0c;时效性也自然地成为了我们选择综述的衡量指标之一。即使一篇 AI 综述具有超高 citation&#xff0c;如果它写于 20 年前&#xff0c;那对今天…

美团点评容器平台HULK的调度系统

本文是美团点评基础架构系列文章之一。这个系列将全面介绍支撑数亿用户、超千万日订单的美团点评平台诸多业务的公共基础架构相关技术。系列已经发布的文章包括&#xff1a; - 《分布式会话跟踪系统架构设计与实践》 - 《Leaf——美团点评分布式ID生成系统》 - 《深度剖析开源分…

论文浅尝 | 利用跨内和跨间信息的预训练实体关系编码器

笔记整理 | 朱珈徵&#xff0c;天津大学硕士链接&#xff1a;https://www.aclweb.org/anthology/2020.emnlp-main.132.pdf动机从自由文本中提取实体和关系是自然语言处理中的一项重要任务。它的目标是识别具有特定类型(实体)和这些实体(关系)之间的语义关系的文本。本文主要研究…

python的环境变量设置

程序和可执行文件可以在许多目录&#xff0c;而这些路径很可能不在操作系统提供可执行文件的搜索路径中。 path(路径)存储在环境变量中&#xff0c;这是由操作系统维护的一个命名的字符串。这些变量包含可用的命令行解释器和其他程序的信息。 Unix 或 Windows 中路径变量为 P…

LeetCode 76. 最小覆盖子串(滑动窗口)

1. 题目 给你一个字符串 S、一个字符串 T&#xff0c;请在字符串 S 里面找出&#xff1a;包含 T 所有字母的最小子串。 示例&#xff1a; 输入: S "ADOBECODEBANC", T "ABC" 输出: "BANC"说明&#xff1a; 如果 S 中不存这样的子串&#xff…

推荐一个可交互的 Attention 可视化工具!我的Transformer可解释性有救啦?

本文首发于微信公众号”夕小瑶的卖萌屋“文 | Sherry源 | 夕小瑶的卖萌屋视觉是人和动物最重要的感觉&#xff0c;至少有80%以上的外界信息是经过视觉获得的。我们看论文的时候&#xff0c;通过图表来确定文章的大致内容往往也是一个更高效的 说到深度神经网络的可视化&#xf…

机器学习中模型优化不得不思考的几个问题

本文根据美团点评算法工程师胡淏4月22日在“携程技术沙龙”上的分享整理而成。文字综合了“携程技术中心”微信公众号的版本和胡淏本人在微博上发表的文章&#xff0c;并有少量编辑加工。 图1 机器学习工程师的知识图谱 图1列出了我认为一个成功的机器学习工程师需要关注和积累…

【美团语音交互部】 NLP/知识图谱/语音识别等算法职位开放招聘!

致力于连接最靠谱的算法岗与最强的求职者招聘贴投放请联系微信xixiaoyao-1部门介绍&#xff1a;语音交互部负责美团语音和智能交互技术及产品研发&#xff0c;面向美团业务和生态伙伴&#xff0c;提供对语音和口语数据的大规模处理及智能响应能力。团队以建设业界一流的语音交互…

LeetCode 289. 生命游戏(位运算)

文章目录1. 题目2. 解题2.1 复制数组解法2.2 原地解法2.3 位运算1. 题目 链接&#xff1a;289. 生命游戏 2. 解题 2.1 复制数组解法 很简单&#xff0c;按照题意模拟即可 class Solution { public:void gameOfLife(vector<vector<int>>& board) {if(board…

论文浅尝 | S3QLRDF: 用于大规模RDF数据分布式SPARQL查询的关系分割架构

笔记整理 | 孙磊&#xff0c;天津大学硕士。动机RDF形式的语义网的繁荣对高效、可伸缩以及分布式的存储和高可用和容错并行策略都有着要求。RDF数据的飞速增长提升了在分布式数据管理系统上高效划分策略的需求来提升SPARQL查询性能。亮点本文提出了新的用于RDF的关系分割架构Pr…

美团DSP广告策略实践

近年来&#xff0c;在线广告在整个广告行业的比重越来越高。在线广告中实时竞价的广告由于其良好的转化效果&#xff0c;占有的比重逐年升高。DSP&#xff08;Demand-Side Platform&#xff09;[1]作为需求方平台&#xff0c;通过广告交易平台&#xff08;AdExchange&#xff0…

推荐几个出论文的好方向

如果你准备发AI方向的论文&#xff0c;或准备从事科研工作或已在企业中担任AI算法岗的工作。那么我真诚的向大家推荐&#xff0c;贪心学院《高阶机器学习研修班》&#xff0c;目前全网上应该找不到类似体系化的课程。课程精选了四大主题进行深入的剖析讲解&#xff0c;四个模块…

LeetCode 414. 第三大的数

1. 题目 给定一个非空数组&#xff0c;返回此数组中第三大的数。如果不存在&#xff0c;则返回数组中最大的数。要求算法时间复杂度必须是O(n)。 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1.示例 2: 输入: [1, 2] 输出: 2 解释: 第三大的数不存在, 所以返回最大的…

论文浅尝 - ICLR2021 | BERTology 遇上生物学:在蛋白质语言模型中解释注意力

来源&#xff1a;ICLR2021链接&#xff1a;https://arxiv.org/abs/2006.15222v3一.动机Transformer架构已经被证明可以学习有用的蛋白质分类和生成任务表示。然而&#xff0c;在可解释性方面存在挑战。二.亮点本文通过attention分析蛋白质Transformer模型&#xff0c;通过atten…

Vuex框架原理与源码分析

Vuex是一个专为Vue服务&#xff0c;用于管理页面数据状态、提供统一数据操作的生态系统。它集中于MVC模式中的Model层&#xff0c;规定所有的数据操作必须通过 action - mutation - state change 的流程来进行&#xff0c;再结合Vue的数据视图双向绑定特性来实现页面的展示更新…

在错误的数据上,刷到 SOTA 又有什么意义?

文 | Severus编 | 小轶小编注&#xff1a;前段时间&#xff0c;小屋介绍了吴恩达老师近期发起的以数据为中心的 AI 竞赛&#xff08;参见《吴恩达发起新型竞赛范式&#xff01;模型固定&#xff0c;只调数据&#xff1f;&#xff01;》&#xff09;。吴恩达老师认为&#xff1a…

论文浅尝 | BoxE:一种基于Box的知识图谱表示学习模型

笔记整理 | 耿玉霞&#xff0c;浙江大学直博生。研究方向&#xff1a;知识图谱&#xff0c;零样本学习等。论文链接: https://arxiv.org/pdf/2007.06267.pdf本文是发表在NeurIPS 2020上的一篇基于Box的知识图谱表示学习模型的文章。在以往知识图谱表示学习&#xff08;KG Embe…