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

最长连续序列

时间:2024-12-17 16:22:28浏览次数:7  
标签:示例 int nums 连续 序列 最长

 

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

思路:先排序,再遍历,边遍历边更新maxLen

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

 

标签:示例,int,nums,连续,序列,最长
From: https://www.cnblogs.com/yueshengd/p/18612771

相关文章

  • 动态规划子序列问题系列一>最长数对链
    题目:  解析:  代码: publicintfindLongestChain(int[][]pairs){Arrays.sort(pairs,(a,b)->(a[0]-b[0]));intn=pairs.length;int[]dp=newint[n];for(inti=0;i<n;i++)dp[i]=1;intret=1;......
  • Java序列化
    Java序列化简单来说:序列化是将对象的状态信息转换为可以存储或传输的形式(如字节序列)的过程。在Java中,通过序列化可以把一个对象保存到文件、通过网络传输到其他地方或者存储到数据库等。最直接的原因就是某些场景下需要使用这种数据状态,像网络中不能传输数据,某些存储场景。......
  • B4X编程语言:B4A, B4i 字符序列生成器CSBuilder
            B4X为我们提供了一个功能强大的字符串操作工具CSBuilder对象(仅用于B4A、B4i)。        CSBuilder类似 StringBuilder。 但与构建字符串不同,CSBuilder是通过操作字符序列来操作字符串,因此它也叫字符序列生成器,它构建了包含样式信息的字符序列。......
  • 5. 最长回文子串
    题目链接解题思路:最长回文子串问题,首先要将原字符串扩充,比如abba,暴力是以每个字符s[i],左右两边扩,如果是abba,得不到最优解,扩充成#a#b#b#a#,就不会有问题,最优解是manacher算法。假设s[i]扩充的区域是[x,y],是目前便利到的,最远的距离,我们称i为回文中心C,y为回文最远右边界R,同时,......
  • 代码随想录算法训练营第四十六天|leetcode647. 回文子串、leetcode516.最长回文子序列
    1leetcode647.回文子串题目链接:647.回文子串-力扣(LeetCode)文章链接:代码随想录视频链接:动态规划,字符串性质决定了DP数组的定义|LeetCode:647.回文子串哔哩哔哩bilibili思路:嘿,看不懂有一点,看解析吧1.1视频后的方法其实看完视频以后,感觉这个题目真的不难,我想到了二维......
  • 代码随想录算法训练营第四十五天|leetcode115.不同的子序列、leetcode583. 两个字符串
    1leetcode115.不同的子序列题目链接:115.不同的子序列-力扣(LeetCode)文章链接:代码随想录视频链接:动态规划之子序列,为了编辑距离做铺垫|LeetCode:115.不同的子序列哔哩哔哩bilibili思路:确实看不懂题目,还是看解析吧1.1视频后的方法有一种我看了视频,也没有那么理解是为......
  • 代码随想录算法训练营第四十四天|leetcode1143.最长公共子序列、leetcode1035.不相交
    1leetcode1143.最长公共子序列题目链接:1143.最长公共子序列-力扣(LeetCode)文章链接:代码随想录视频链接:动态规划子序列问题经典题目|LeetCode:1143.最长公共子序列哔哩哔哩bilibili思路:其实我比较清楚的是和上面一道题目的思路,差不太多,但是我不知道非连续的位置应该如何......
  • 3. 无重复字符的最长子串
    题目链接解题思路:最长子串问题,考虑,以i开头的结果如何,以i结尾的结果如何,最终结果必定在其中。本题使用以i开头的结果如何,我们求出所有的「以i开头的最长子串」,再求出最长的即可。求「以i开头的最长子串」,最简单的暴力即可,那么怎么加速呢?我们在求「以i-1开头的最长子长串时......
  • 毕业设计:NBA球员数据分析及预测系统+可视化 +Flask框架 篮球数据分析 时间序列预测算
    毕业设计:NBA球员数据分析及预测系统+可视化+Flask框架篮球数据分析时间序列预测算法大数据毕业设计✅1、项目介绍NBA球员数据分析及预测系统技术栈Python语言、Flask框架、requests爬虫、statsmodels中的ARIMA时间序列预测算法、Echarts可视化2、项目界面(1)球员数......
  • Python序列的应用(九):集合以及列表、元组、字典和集合的区别
    前言:在Python编程语言中,序列是一类非常重要的数据结构,它们提供了一种有序地存储和访问数据的方式。在Python中,序列的应用非常广泛,它们是处理数据集合的基础工具。本系列文章旨在深入探讨Python中的序列类型,包括列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set),并分析它们之间的区别......