Сколько горок есть в заданном целочисленном массиве А длинной N? Назовем горкой четверку рядом стоящих элементов

  • 32
Сколько "горок" есть в заданном целочисленном массиве А длинной N? Назовем "горкой" четверку рядом стоящих элементов с номерами i-2, i-1, i и i+1, при условии, что A[i-2] < A[i-1] <= A[i] > A[i+1]. Напишите программу, которая подсчитывает количество "горок" в массиве.
Никита
60
Хорошо, давайте решим задачу подсчета количества "горок" в заданном массиве.

Прежде чем приступить к написанию программы, следует первоначально понять, что такое "горка". В данном случае "горкой" называется четверка рядом стоящих элементов с номерами i-2, i-1, i и i+1 таких, что A[i-2] < A[i-1] < A[i] > A[i+1].

Теперь, перейдем к написанию программы. Мы будем использовать цикл for для перебора всех элементов массива и счетчик для подсчета количества "горок".

Вот решение задачи на языке Python:

python
def count_goroks(array):
count = 0
n = len(array)

for i in range(2, n-1):
if array[i-2] < array[i-1] < array[i] > array[i+1]:
count += 1

return count

# Пример использования функции:
A = [1, 2, 3, 2, 4, 1, 5] # Пример массива

result = count_goroks(A)
print("Количество "горок" в массиве: ", result)


Данная программа определяет длину массива `n`, а затем проходит по каждому индексу `i` от 2 до `n-1`. Если выполняется условие "горки", то к счетчику `count` прибавляется 1.

В приведенном примере массив `A` содержит 7 элементов, и у него есть две "горки" - (3, 2, 4, 1) и (4, 1, 5). Поэтому функция вернет результат 2.

Таким образом, мы получаем количество "горок" в заданном массиве.