1 条题解
-
0
1
#include <bits/stdc++.h> using namespace std; int n; int a[1005]; // 返回 st~ed 是否是同样的数 bool check(int st, int ed) { for (int i = st + 1; i <= ed; i++) if (a[i] != a[st]) return false; return true; } int main() { cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; // start end int ans = 0; for (int start = 1; start <= n; start++) for (int end = start; end <= n; end++) { // 检查一下 start~end 是否是一个平台 if (check(start, end)) { ans = max(ans, end - start + 1); } } cout << ans; return 0; }
2
#include <bits/stdc++.h> using namespace std; int n; int a[1005]; int main() { cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; int len = 1; // 以当前数字结尾的平台长度 int ans = 1; // 目前最长平台的长度 for (int i = 2; i <= n; i++) { if (a[i] != a[i - 1]) len = 1; else len++; ans = max(ans, len); } cout << ans; return 0; }
信息
- ID
- 336
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 4
- 标签
- (无)
- 递交数
- 148
- 已通过
- 70
- 上传者