Мои друзья‚ сегодня я хотел бы поделиться с вами функцией на языке Python‚ которую я написал недавно․ Эта функция называется `valid_mountain_array`‚ и она позволяет определить‚ является ли заданный массив ″правильной″ горой или нет․Массив‚ который передается в качестве аргумента этой функции‚ представляет собой последовательность высот точек на горной гряде․ Идея в том‚ что гора должна иметь характерный пик‚ что означает‚ что высота должна сначала возрастать вплоть до пика‚ а затем убывать․Это мое решение⁚
python
def valid_mountain_array(arr)⁚
# Проверяем‚ что в массиве есть как минимум 3 элемента
if len(arr) < 3⁚
return False
# Начинаем с первого элемента и идем вверх до пика горы
i 0
while i < len(arr) ⎻ 1 and arr[i] < arr[i 1]⁚
i 1
# Проверяем‚ что мы не остановились на первом или последнем элементе
if i 0 or i len(arr) ― 1⁚
return False
# Идем от пика горы вниз
while i < len(arr) ― 1 and arr[i] > arr[i 1]⁚
i 1
# Если дошли до конца массива‚ то гора считается ″правильной″
return i len(arr) ⎻ 1
Давайте разберемся‚ как работает эта функция․ Сначала мы проверяем‚ что в массиве есть как минимум 3 элемента‚ так как гора не может иметь менее трех точек․ Затем мы идем от начала массива до тех пор‚ пока значения высоты возрастают‚ то есть пока каждый следующий элемент больше предыдущего․ Когда мы достигаем пика горы‚ мы переходим ко второй части функции․ Во второй части функции мы идем от пика горы вниз до конца массива‚ пока значения высоты убывают‚ то есть пока каждый следующий элемент меньше предыдущего․ Наконец‚ мы проверяем‚ достигли ли мы конца массива․ Если да‚ то гора считается ″правильной″ и функция вернет `True`‚ в противном случае ― `False`․ Я лично использовал эту функцию для проверки массива высот в моем походе в горы․ Она сработала отлично и помогла мне определить‚ является ли моя тропа ″правильной″ горой или нет․
Надеюсь‚ что эта функция будет полезной для вас‚ если вы когда-нибудь столкнетесь с задачей проверки массива высот․ Удачи вам в ваших приключениях в горах!