📅  最后修改于: 2023-12-03 15:39:55.854000             🧑  作者: Mango
本题是 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
的函数,用于计算输入的整数数组中所有符合条件的元素数量。在主程序中,首先读取输入数组的长度和元素值,然后调用函数,并输出结果。
在函数内部,使用一个计数器从首位开始遍历整个数组,并判断每个元素是否符合条件。如果符合,计数器加一,最后返回计数器的值。