两种方法
2026-08-31 21:44:16
发布于:陕西
20阅读
0回复
0点赞
第一种:
定义全局数组,收入数组用一个变量求1的数据,用另外一个变量更新最大值,最后再更新一遍,因为最后一个数是一,最后就不会判断
#include<bits/stdc++.h>
using namespace std;
int o,nums[2000000],b=0,v=0;
int main(){
cin>>o;
for(int m=0;m<o;m++){
cin>>nums[m];
if(nums[m]==1)
b++;
else{
v=max(v,b);
b=0;
}
}
v=max(v,b);
cout<<v<<endl;
return 0;
}
第二种:
不用数组,输入变量
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int cur = 0;
int ans = 0;
int x;
for(int i=0;i<n;i++){
cin >> x;
if(x == 1){
cur++;
if(cur > ans){
ans = cur;
}
}else{
cur = 0;
}
}
cout << ans << endl;
return 0;
}
这里空空如也








有帮助,赞一个