Вопрос задан 24.06.2023 в 09:16. Предмет Информатика. Спрашивает Крюкова Мария.

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

ни локальном минимумом. Если таких элементов нет, вывести 0(на языке питон)
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Курылёв Тарас.

Ответ:

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
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для выполнения этой задачи вам потребуется написать код на Python. Вот пример решения задачи:

python
def find_max_not_local_extremes(arr): if len(arr) < 3: return 0 max_not_extreme = None for i in range(1, len(arr) - 1): if arr[i] > arr[i - 1] and arr[i] > arr[i + 1]: # Текущий элемент - локальный максимум continue if arr[i] < arr[i - 1] and arr[i] < arr[i + 1]: # Текущий элемент - локальный минимум continue if max_not_extreme is None or arr[i] > max_not_extreme: max_not_extreme = arr[i] return max_not_extreme if max_not_extreme is not None else 0 # Пример использования: arr = [2, 1, 3, 4, 5, 2, 1, 7, 6] result = find_max_not_local_extremes(arr) print("Максимальный элемент, не являющийся локальным экстремумом:", result)

Этот код определяет максимальный элемент в массиве, который не является ни локальным минимумом, ни локальным максимумом. Если такой элемент не найден, он возвращает 0.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос