题解 | 打印极值点下标
打印极值点下标
https://www.nowcoder.com/practice/7fd72f8ac7964ba3b8baa8735246e1f1
#include <stdio.h>
#define data_len 80
int main() {
int k;
int data[data_len];
while(scanf("%d", &k) != EOF){
for(int i=0; i<k; i++){
scanf("%d", &data[i]);
}
// 第一个单独判断
if(data[0] != data[1])
printf("%d ", 0);
// 判断中间的
for(int i=1; i<k-1; i++){
if((data[i]>data[i-1]) && (data[i]>data[i+1]))
printf("%d ", i);
else if((data[i]<data[i-1]) && (data[i]<data[i+1]))
printf("%d ", i);
}
// 判断最后一个
if(data[k-1] != data[k-2])
printf("%d ", k-1);
}
return 0;
}
