直接模拟,能否在输入的时候就做好判断直接输出答案,评论区求
打印极值点下标
https://www.nowcoder.com/practice/7fd72f8ac7964ba3b8baa8735246e1f1
#include <iostream> using namespace std; int main() { int k; int arr[80]; cin>>k; for (int i = 0; i < k; ++i) { cin >> arr[i]; } for (int i = 0; i < k; ++i) { if (i == 0) { if (arr[i] != arr[i + 1]) { std::cout << i << " "; } } else if (i == k - 1) { if (arr[i] != arr[i - 1]) { std::cout << i << " "; } }else{ if(arr[i]>arr[i-1]&&arr[i]>arr[i+1]||arr[i]<arr[i-1]&&arr[i]<arr[i+1]){ std::cout << i << " "; } } } }