KY54 打印极值点下标

描述:

在一个整数数组上,对于下标为i的整数,如果它大于所有它相邻的整数, 或者小于所有它相邻的整数,则称该整数为一个极值点,极值点的下标就是i。
输入描述:

每个案例第一行为此数组元素个数k(4<k<80),第二行是k个整数,每两个整数之间用空格分隔
输出描述:

每个案例输出为n个数字(其中n为该案例中极值点的个数):每个数字对应相应数组的相应极值点下标值,下标值之间用空格分隔。
示例1

复制代码
输入:
10
10 12 12 11 11 12 23 24 12 12
15
12 12 122 112 222 211 222 221 76 36 31 234 256 76 76 
15
12 14 122 112 222 222 222 221 76 36 31 234 256 76 73

输出:
0 7
2 3 4 5 6 10 12
0 2 3 10 12 14

知识点: 查找
AC代码:

c 复制代码
#include <stdio.h>

int main() {
    int k;
    int arr[85];
    while(scanf("%d", &k) != EOF) {
        for(int i = 0; i < k; i ++)
            scanf("%d", &arr[i]);
        if(arr[0] != arr[1])
            printf("0 ");
        for(int i = 1; i < k - 1; i++)
            if((arr[i] > arr[i - 1] && arr[i] > arr[i + 1]) || (arr[i] < arr[i - 1] && arr[i] < arr[i + 1]))
                printf("%d ", i);
        if(arr[k - 1] != arr[k - 2])
            printf("%d", k - 1);
        printf("\n");
    }
    return 0;
}
相关推荐
qq_33776320198 小时前
国际期货资管系统开发方案|内外盘交易平台源码授权与二次开发支持
java·c语言·开发语言·c++·c#
openKylin20 小时前
与全球技术演进同频,openKylin 3.0从C迈向Rust
c语言·开发语言·rust·开源·开放原子·openkylin
迷茫、Peanut21 小时前
C语言sizeof和strlen
c语言
Bug退散师1 天前
多路IO复用[select版TCP服务器与poll版TCP服务器]与常用网络编程函数详解
linux·服务器·c语言·网络·驱动开发·tcp/ip
天空'之城1 天前
C 语言工业级通用组件手写 03:双向链表
c语言·嵌入式开发·双向链表
FREEDOM_X1 天前
嵌入式——定时器工作原理
linux·c语言·单片机·嵌入式硬件·ubuntu
2401_827501281 天前
51单片机(四)DS18B20 数字温度传感器
c语言·51单片机
不会c+1 天前
C语言:入门到精通(408考研版)系列七 派生的数据类型
c语言·开发语言
躺不平的理查德1 天前
SQLite C API 备忘录
c语言·数据库·sqlite
程序猿编码1 天前
没有AI框架,没有GPU,一个C语言文件跑通大模型
c语言·开发语言·人工智能·深度学习·ai·大模型