题目思路
先定义变量 \(t,ans\)。
循环从 \(0\) 到 \(n-1\),对于第 \(i\) 个数,如果为 \(0\),\(t=t+1\),否则将 \(t\) 清零。每次循环 \(ans=\max(ans,t)\) 表示最多有多少个连续的 \(0\)。
最后输出 \(ans\) 即可。
核心代码
点击查看代码
void solve(){
int n=read(),a[1005],ans=0,t=0;
for(int i=0;i<n;i++)a[i]=read();
for(int i=0;i<n;i++){
if(!a[i])t++;
else t=0;
ans=max(ans,t);//统计最大值
}
cout<<ans<<endl;
}