1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int arr[100100]; // 存储每场获胜队伍的编号 int n; // 比赛的总场数 int main() { // [1] 输入比赛的总场数n cin>>n; // [2] 输入n场比赛的获胜队伍编号,依次存入数组arr for(int i=0;i<n;i++){ cin>>arr[i]; } // [3] 初始化变量:当前连胜场次sum(初始为1,单场默认1场)、最大连胜场次max_sum、对应队伍编号max_num int sum=1,max_sum=0,max_num=0; // [4] 遍历比赛场次(从第2场开始,对比当前与下一场的获胜队伍) for(int i=1;i<n;i++){ // [5] 如果当前场次与上一场的获胜队伍相同,当前连胜场次+1 if(arr[i]==arr[i-1]){ sum++; }else{ // [6] 若当前连胜场次超过之前记录的最大值,更新最大连胜场次和对应队伍 if(max_sum<sum){ max_sum=sum; max_num=arr[i-1]; } // [7] 切换获胜队伍时,重置当前连胜场次为1 sum=1; } } // [8] 处理最后一段连续获胜的队伍(避免循环结束后遗漏更新) if(max_sum<sum){ max_sum=sum; max_num=arr[n-1]; } // [9] 输出连胜场次最多的队伍编号 cout<<max_num; return 0; }
- 1
信息
- ID
- 1200
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者