题解 | #打印极值点下标#
打印极值点下标
https://www.nowcoder.com/practice/7fd72f8ac7964ba3b8baa8735246e1f1
#include <cstdio> #include <iostream> using namespace std; int main() { int k; int a[80]; while (scanf("%d",&k) != EOF) { for (int i = 0; i < k; ++i) { scanf("%d",&a[i]); } for (int j = 0; j < k; ++j) { if(j == 0){ if (a[j] != a[j+1]) { printf("%d ",j); } }else if (j == k-1) { if (a[j] != a[j-1]) { printf("%d ",j); } }else { if ((a[j] > a[j-1] && a[j] > a[j+1]) || (a[j] < a[j-1] && a[j] < a[j+1])) { printf("%d ",j); } } } printf("\n"); } }