📌  相关文章
📜  教资会网络 | UGC NET CS 2018 年 12 月 – II |问题 49(1)

📅  最后修改于: 2023-12-03 15:39:55.854000             🧑  作者: Mango

UGC NET CS 2018 年 12 月 – II |问题 49

本题是 UGC NET 计算机科学 2018 年 12 月 – II 考试中的一道题目,属于计算机科学的编程范畴。此题目的主要任务是编写一个程序,计算并输出给定整数数组中所有比相邻两个数都大的数的数量。

题目描述

给定一个整数数组 arr,编写一个程序来计算其中所有比相邻两个数都大的数的数量。 例如,数组 arr = [3, 5, 2, 7, 6, 4, 5, 9] 中,比相邻两个数都大的数的数量为 4,因为这个数组中的四个数 5, 7, 6, 9 都比他们相邻的两个数都大。

输入格式

输入数组 arr 的长度 n(1 ≤ n ≤ 10^5)和元素值,以及字符 ‘#’,表示输入读取结束。

例如:

8
3 5 2 7 6 4 5 9 #
输出格式

输出一个整数,表示输入数组中所有符合题意的元素的总数量。

例如:

4
代码实现
def count_special_numbers(arr):
    count = 0
    for i in range(1, len(arr)-1):
        if arr[i]>arr[i-1] and arr[i]>arr[i+1]:
            count += 1
    return count

n = int(input())
arr = list(map(int, input().split()))
print(count_special_numbers(arr))

此代码实现定义了一个名为 count_special_numbers 的函数,用于计算输入的整数数组中所有符合条件的元素数量。在主程序中,首先读取输入数组的长度和元素值,然后调用函数,并输出结果。

在函数内部,使用一个计数器从首位开始遍历整个数组,并判断每个元素是否符合条件。如果符合,计数器加一,最后返回计数器的值。