一、题目描述
最长连号
题目描述
输入长度为 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。
二、参考代码
#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;
}