C++ 最长连号

文章目录


一、题目描述

最长连号

题目描述

输入长度为 n n n 的一个正整数序列,要求输出序列中最长连号的长度。

连号指在序列中,从小到大的连续自然数。

输入格式

第一行,一个整数 n n n。

第二行, n n n 个整数 a i a_i ai,之间用空格隔开。

输出格式

一个数,最长连号的个数。

样例 #1

样例输入 #1

复制代码
10
1 5 6 2 3 4 5 6 8 9

样例输出 #1

复制代码
5

提示

数据规模与约定

对于 100 % 100\% 100% 的数据,保证 1 ≤ n ≤ 1 0 4 1 \leq n \leq 10^4 1≤n≤104, 1 ≤ a i ≤ 1 0 9 1 \leq a_i \leq 10^9 1≤ai≤109。


二、参考代码

cpp 复制代码
#include <iostream>

using namespace std;
const int maxn = 10001;
int arr[maxn];


int main(void) {
    
    int n;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> arr[i];
    }
    int cnt = 1;
    int max = 0;
    for (int i = 0; i < n - 1; i++)
    {
        if (arr[i + 1] - arr[i] == 1)
        {
            cnt++;
        }
        else
        {
            cnt = 0;
        }

        if (cnt > max)
        {
            max = cnt;
        }
    }
    cout << ++max << endl;
}

相关推荐
leiming621 分钟前
C++ vector容器
开发语言·c++·算法
Xの哲學1 小时前
Linux流量控制: 内核队列的深度剖析
linux·服务器·算法·架构·边缘计算
yaoh.wang2 小时前
力扣(LeetCode) 88: 合并两个有序数组 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·双指针
apocelipes3 小时前
从源码角度解析C++20新特性如何简化线程超时取消
c++·性能优化·golang·并发·c++20·linux编程
LYFlied3 小时前
【每日算法】 LeetCode 56. 合并区间
前端·算法·leetcode·面试·职场和发展
ozyzo3 小时前
求1~n的累加和
c++
艾醒3 小时前
大模型原理剖析——多头潜在注意力 (MLA) 详解
算法
艾醒3 小时前
大模型原理剖析——DeepSeek-V3深度解析:671B参数MoE大模型的技术突破与实践
算法
charlie1145141914 小时前
现代C++嵌入式教程:C++98基础特性:从C到C++的演进(1)
c语言·开发语言·c++·笔记·学习·教程