题解 | 打印极值点下标

打印极值点下标

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;
}

全部评论

相关推荐

爱吃烤肠的牛油最喜欢...:50K是ssp了估计,ssp的人家多厉害都不用说,每年比例大概在百分之5左右
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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