Ctrl K

Добраться до обоих краёв

Средняя
Дан массив values из попарно различных целых чисел. За один ход можно убрать либо первый элемент массива, либо последний. Нужно убрать из массива и наименьший, и наибольший элемент. Верните минимальное число ходов, которого для этого достаточно.
Пример 1
values=[6, 3, 9, -2, 4, 1, 5] → 4

Максимум 9 стоит на позиции 2, минимум -2 — на позиции 3. Выгоднее всего снять 4 элемента спереди.

Пример 2
values=[0, 8, 2, 4, 7, -1, 6] → 4

Снимаем 2 элемента спереди (до 8) и 2 сзади (до -1), всего 4.

Пример 3
values=[13] → 1

Единственный элемент — и минимум, и максимум сразу.

Ограничения
  • 1 ≤ len(values) ≤ 10⁵
  • -10⁵ ≤ values[i] ≤ 10⁵
  • Все числа в values различны
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДве доски и вода СредняяМеньше всего прыжков до конца СредняяДобраться до последней клетки СредняяСколько угодно сделок СредняяОткуда начать круг Средняя
загружаем Python…
Вход
values=[6, 3, 9, -2, 4, 1, 5]
Ожидается
4

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 103 теста на сервере, включая скрытые.