Ctrl K

Сбор возрастающими проходами

Сложная
Робот-сортировщик убирает числа из массива values проходами. За один проход он идёт слева направо и забирает любой набор чисел, которые в порядке следования **строго возрастают** (числа не обязаны стоять подряд). Оставшиеся числа сохраняют свой порядок. Верните наименьшее число проходов, после которых массив станет пустым.
Пример 1
values=[4, 6, 2, 5, 1, 3] → 3

Три прохода: [4, 6], [2, 5], [1, 3]. Двумя не обойтись: числа 6, 5 и 3 идут по убыванию, и никакие два из них не попадут в один проход.

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

Возрастание строгое, поэтому равные числа всегда уходят в разные проходы.

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

Массив уже строго возрастает — хватит одного прохода.

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

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