题解 | 打印极值点下标
打印极值点下标
https://www.nowcoder.com/practice/7fd72f8ac7964ba3b8baa8735246e1f1
#include <stdio.h> int main() { int b, a[80]; while (scanf("%d", &b) != EOF) { // 注意 while 处理多个 case for(int i=0;i<b;i++){ scanf("%d",&a[i]); } for(int i=0;i<b;i++){ if(a[i]>a[i-1]&&a[i]>a[i+1]&&i!=0||a[i]<a[i-1]&&a[i]<a[i+1]&&i!=(b-1)||(i==0)&&a[0]!=a[1]||(i==(b-1)) &&a[b-1]!=a[b-2]) printf("%d ",i); }printf("\n"); } return 0; }
注意数组的溢出,其他没啥了