题解 | #打印极值点下标#

打印极值点下标

https://www.nowcoder.com/practice/7fd72f8ac7964ba3b8baa8735246e1f1

#include <iostream>
using namespace std;

const int N=100;
int a[N];
int main() {
    int n;
    while(cin>>n){
        for(int i=0;i<n;i++) cin>>a[i];
        for(int i=0;i<n;i++){
            if(i-1>=0){//不是第一个元素
                if(a[i]>a[i-1]||a[i]<a[i-1]){
                    if(i+1<n){//不是最后一个元素
                        if(a[i]>a[i-1]&&a[i]>a[i+1])//极大值
                        cout<<i<<" ";
                        if(a[i]<a[i-1]&&a[i]<a[i+1])//极小值
                        cout<<i<<" ";
                    }else {//是最后一个元素
                        cout<<i<<" ";
                    }
                }
            }else{//是第一个元素
                if(a[i]>a[i+1]||a[i]<a[i+1])
                    cout<<i<<" ";
            }
        }
        cout<<endl;
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
06-11 17:39
门头沟学院 Java
小呆呆的大鼻涕:卧槽,用户彻底怒了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务