0
已解决
https://wenda.codingtang.com/questions/11837/
汪宇航在2021-02-04 13:40:25追加了内容
#include <iostream>
using namespace std;
int n,a[1000000],cnt=0,cnt1,maxn=0,b[1000000];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]<=a[i+1]){
cnt++;
b[i]=cnt;
}else{
cnt+=1;
b[i]=cnt;
}
}
for(int i=1;i<=n;i++){
maxn=max(maxn,b[i]);
cout<<maxn;
break;
}
return 0;
}
汪恺恒,不对鸭???
汪宇航在2021-02-05 12:06:27追加了内容
#include <iostream>
using namespace std;
int n,a[1000000],b[1000000],cnt=0,maxn;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
if(a[i]<=a[i+1]){
cnt++;
b[i]=cnt;
}else{
cnt=1;
b[i]=cnt;
}
}
maxn=b[1];
for(int i=1;i<=n;i++){
maxn=max(maxn,b[i]);
}
cout<<maxn;
return 0;
}
拿错了?
0
1
经典的最长不下降连续子序列,还没学到吧
核心
输入a数组
for(int i=1;i<=n;i++){//遍历数组
if(a[i]<=a[i+1]){//如果不下降
k++;//个数加一
b[i]=k; //b数组记录个数
}
else{
k=1;//个数归1
b[i]=k;
}
}
最后找最大值
定义maxn,赋值为b[1];
循环(1至n){
maxn=max(maxn,b[i]);
}
最后输出maxn
0
0