首页 > 其他分享 >128.最长连续序列

128.最长连续序列

时间:2024-04-06 18:11:39浏览次数:17  
标签:count set nums int 序列 num 128 最长

题干

给定一个未排序的整数数组 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

 

提示:

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

 

解题

刚开始看错题了,以为是数字100可以切分成单个数字1,0,0来算的。后来发现想复杂了

class Solution {
    public int longestConsecutive(int[] nums) {
        Set<Integer> set = new HashSet<>();
        for(int num:nums){
            set.add(num);
        }
        int count=0;
        for(int num:set){
            if(!set.contains(num-1)){
                int currentNum=num;
                int currentCount=1;
                while(set.contains(currentNum+1)){
                    currentNum++;
                    currentCount++;
                }
                count=Math.max(count,currentCount);
            }
        }
        return count;
    }
}

 

标签:count,set,nums,int,序列,num,128,最长
From: https://www.cnblogs.com/ak918xp/p/18117711

相关文章

  • 贪心算法|376.摆动序列
    力扣题目链接classSolution{public:intwiggleMaxLength(vector<int>&nums){if(nums.size()<=1)returnnums.size();intcurDiff=0;intpreDiff=0;intresult=1;for(inti=0;i<nums.size(......
  • P4551 最长异或路径 题解
    题目链接:最长异或路径看到树上路径问题,且是异或和这种,先思考树上前缀和转化为前缀和问题。如果我们预处理出\(pre[curr]\)表示\(curr\)这个点到根的前缀异或值,那么很显然我们路径的两个点\(u\)与\(v\)的\(pre[u]\opluspre[v]\)和传统的加法的树上前缀和并不一样,因为异......
  • ANSI 转义序列(ANSI Escape Sequences)
    本文来自GithubGistfrom"fnky/ANSI.md"。下面是笔者翻译版本。持续更新中。ANSI转义序列标准Esc代码以Escape为前缀:Ctrl快捷键:^[八进制:\033Unicode:\u001b十六进制:\x1B十进制:27后面跟着命令,有时用左方括号([)分隔,称为控制序列引导码(CSI),后面可选地跟着......
  • 代码随想录算法训练营DAY18|C++二叉树Part.5|513.找树左下角的值、112. 路径总和、113
    文章目录513.找树左下角的值层序-迭代遍历前中后序-递归遍历思路伪代码CPP代码112.路径总和、113.路径总和II112.路径总和思路伪代码实现CPP代码113.路径总和II思路伪代码实现CPP代码实现106\105.从中(前)序与后(中)序遍历序列构造二叉树106.从中序与后序遍历序列......
  • pdffactory pro 8注册码序列号下载 附教程
    PdfFactoryPro可以说是一款行业专业且技术领先的的PDF虚拟打印机软件。其不仅占用系统内存小巧,功能强大,可支持用户无需使用Acrobat来创建AdobePDF即可以进行PDF组件的创建和打印。同时,现在全新的PdfFactoryPro8也正式上线来袭,全面新增添加了如书签、作业订购、信头和自动电......
  • 操作系统综合题之“给进程数和资源数,判断是否安全状态和列出安全序列”
    一、问题:若有3个进程共享9个资源,且当前资源分配情况如下进程已占资源数最大需求数P126P236P315 请回答以及下问题1.目前系统是否处于安全状态?2.如果是,给出进程执行的安全序列,如果不是,请说明理由 二、参考答案1.目前处于安全状态2.安全序列为:P......
  • STM32串行通信驱动LCD12864(使用5V电源,驱动信号用5VFT的引脚(3.3V MCU))
    #include"spi.h"voidSPI_GPIO_Init(void){//hardwaremakePSBlowtoenableserialcommunicationGPIO_InitTypeDefGPIO_InitStruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitStruct.GPIO_Mode=GPIO_Mo......
  • Leetcode 无重复字符的最长子串
    powcai的滑动窗口解决问题:不断向后滑动窗口,出现重复元素,重新计算窗口,巧妙利用map来记录先前出现的元素的位置索引classSolution{publicintlengthOfLongestSubstring(Strings){//滑动窗口解决该问题intleft=0;intmax=0;Map......
  • 最长回文子串
    letcode最长回文子串给你一个字符串s,找到s中最长的回文子串如果字符串的反序与原始字符串相同,则该字符串称为回文字串。示例1输入:s="babad"输出:"bab"解释:"aba"同样是符合题意的答案。示例2:输入:s="cbbd"输出:"bb"解题思路此题可以用动态规划的思想去解决......
  • LeetCode in Python 300. Longest Increasing Subsequence (最长递增子序列)
    求最长递增子序列是深度优先搜索(DFS)的一种应用,有两种比较好的方法可以解决。第一种是动态规划法,时间复杂度为O(n*n),即设置边界条件和更新迭代公式求解最优解。第二种使用二分查找将时间复杂度降为O(nlogn)。本文给出两种方法的实现代码及说明。示例:图1最长递增子序列输入......