- 遍历数组,检查相邻元素
- 如果 ,则当前连续序列长度加1
- 否则重新开始计数
- 维护最大长度
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<int> a(n - 1); for(int i = 0; i < n - 1; i++) { cin >> a[i]; } int maxLen = 1; // 最长顺子长度 int curLen = 1; // 当前顺子长度 // 遍历寻找连续序列 for(int i = 1; i < n - 1; i++) { if(a[i] == a[i-1] + 1) { curLen++; maxLen = max(maxLen, curLen); } else { curLen = 1; } } cout << maxLen << endl; return 0; }