Ctrl K

Точка раздела на младших и старших

Средняя
Дан массив неотрицательных целых чисел values. Его нужно разрезать в одном месте на две непустые части — левую и правую, — так чтобы каждое число левой части было не больше каждого числа правой. Таких разрезов может быть несколько. Выберите тот, при котором левая часть самая короткая, и верните её длину. Гарантируется, что хотя бы один подходящий разрез существует.
Пример 1
values=[4, 2, 7, 5, 9] → 2

Левая часть [4, 2], правая [7, 5, 9]: максимум слева 4 не больше минимума справа 5. Взять только [4] нельзя — справа окажется 2.

Пример 2
values=[3, 3, 1, 3, 8] → 3

Единица должна попасть в левую часть, поэтому слева [3, 3, 1]; максимум 3 не больше минимума справа, который тоже 3.

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

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