- 打印极值点下标
求解!卡了半个小时@
- 2025-3-7 23:33:51 @
#include<bits/stdc++.h>
using namespace std;
const int N=1e4+10;
int a[N];
int main(){
int n,k;
cin>>n;
for(int i=0;i<n;i++){
cin>>k;
for(int j=1;j<=k;j++){
cin>>a[j];
}
cout<<0<<" ";
for(int l=1;l<=k;l++){
if((a[l]>a[l-1]&&a[l]>a[l+1])||(a[l]<a[l-1]&&a[l]<a[l+1])){
cout<<l-1<<" ";
}
}
cout<<endl;
for(int t=1;t<=k;t++){
a[t]=0;
}
}
return 0;
}
2 条评论
-
lilo 可爱! LV 8 @ 2025-3-9 15:35:57
#include<stdio.h> int main() { int n,k,a[80],i,b[80],j; while(scanf("%d",&n)!=EOF) { while(n--) { scanf("%d",&k); for(i=0;i<k;i++) scanf("%d",&a[i]); j=0; if(a[0]<a[1]||a[0]>a[1]) b[j++]=0; for(i=1;i<k-1;i++) if((a[i]>a[i-1]&&a[i]>a[i+1])||(a[i]<a[i-1]&&a[i]<a[i+1])) b[j++]=i; if(a[k-1]<a[k-2]||a[k-1]>a[k-2]) b[j++]=k-1; for(i=0;i<j;i++) printf(i==j-1?"%d\n":"%d ",b[i]); } } return 0; }
- 1
信息
- ID
- 1167
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 31
- 已通过
- 7
- 上传者