学习C++从娃娃抓起!记录下洛谷C++学习和备考过程中的题目,记录每一个瞬间。
附上汇总贴:洛谷刷题C++语言 | 汇总_热爱编程的通信人的博客-CSDN博客
【题目描述】
输入长度为 n 的一个正整数序列,要求输出序列中最长连号的长度。
连号指在序列中,从小到大的连续自然数。
【输入】
第一行,一个整数 n。
第二行,n 个整数 ai,之间用空格隔开。
【输出】
一个数,最长连号的个数。
【输入样例】
10 1 5 6 2 3 4 5 6 8 9
【输出样例】
5
【代码详解】
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, t, pre=-1, mark=1, max=1;
cin >> n;
for (int i=1; i<=n; i++) {
cin >> t;
// cout << "t=" << t << " pre=" << pre << endl;
//判断t是否与前面的数字构成连号
if (t==pre+1) {
mark++;
// cout << "mark=" << mark << endl;
} else {
mark = 1;
}
if (mark > max) max = mark;
//更新pre
pre = t;
}
cout << max;
return 0;
}
【运行结果】
10
1 5 6 2 3 4 5 6 8 9
4