B2097
我们可以用
#include<bits/stdc++.h>
using namespace std;
int a[105];
int main(){
int n;
cin>>n;
int cnt=0,ans=0;
for(int i=0;i<n;i++){
cin>>a[i];
if(a[i]==a[i-1]) cnt++;//相同就加上
else{//不同就替换
ans=max(cnt,ans);
cnt=0;
cnt++;
}
}
ans=max(cnt,ans);//防止最后一组数是最长的
cout<<ans<<endl;
return 0;
}
还有另一种做法,就是将每一个数的个数加入数组内,再将数组中的最大值找出
#include<bits/stdc++.h>
using namespace std;
int k[2010];
int main(){
int n;
cin>>n;
int ans=0;
for(int i=0;i<n;i++){
int a; cin>>a;
k[a]++;//将数压进数组内
}
for(int i=0;i<2000;i++) ans=max(ans,k[i]);//找最大的数
cout<<ans<<endl;//输出答案
return 0;
}