green121
29.11.2020 10:19

Дан массив размера N. Найти максимальный из его элементов, не являющихся ни локальным максимумом, ни локальном минимумом. Если таких элементов нет, вывести 0(на языке питон)

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
snegierevayanap08i8i
16.04.2021 20:00

a = [1, 100, 10, 2]

a = sorted(a, reverse=True)

if (len(a) > 2):

 if(a[0] != a[1] and a[1] != a[2]):

   print(a[1])

 else:

   print(0)

else:

 print(0)

Объяснение:

Итак, как я понял, абсолютный минимум и максимум это самый большой и самый маленький элемент в списке, значит нам нужно вывести второй по величине. Сортируем массив с sorted(значит мы сортируем массив и записываем результат в a, заменяя старый), причем сортируем с reverse=True так как по умолчанию он сортирует по возрастанию, а нам нужно по убыванию. Затем мы проверяем длинну списка и если в ней есть хотя бы 3 элемента(0, 1, 2 - абсолютный максимум, искомый элемент и абсолютный минимум), то выводим искомый элемент(второй элемент списка, индекс у него 1 так как счет с 0), иначе выводим 0

upd: вложенный if сравнивает первый и второй и второй и третий элементы. Если они равны, то тоже выводим ноль

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота