题解 | 打印极值点下标
#include<iostream> using namespace std; int main(){ int k; while(cin>>k){ int arr[k]; for(int i=0;i<k;i++){ cin>>arr[i]; } int i=0; if(arr[i]!=arr[i+1]) cout<<"0"<<" "; for(i=1;i<k-1;i++){ if(arr[i]>arr[i-1]&&arr[i]>arr[i+1]||arr[i]<arr[i-1]&&arr[i]<arr[i+1]) cout<<i<<" "; } i=k-1; if(arr[i]!=arr[i-1]) cout<<i<<" "; cout<<endl; } }