Ctrl K

Больше всего кусков для сортировки

Средняя
Массив order длины n содержит каждое из чисел от 0 до n − 1 ровно по одному разу. Массив режут на несколько непрерывных кусков, каждый кусок сортируют по отдельности, а затем куски склеивают обратно в том же порядке. Нужно, чтобы в итоге получился массив, отсортированный по возрастанию. Верните наибольшее число кусков, на которое можно так разрезать массив.
Пример 1
order=[2, 0, 1, 4, 3, 5] → 3

Можно разрезать на [2, 0, 1], [4, 3] и [5]: после сортировки кусков получится 0 1 2 3 4 5. Больше кусков не выйдет — например, 2 нельзя отделить от 0 и 1.

Пример 2
order=[0, 1, 2] → 3

Порядок уже правильный, каждый элемент может быть отдельным куском.

Пример 3
order=[3, 1, 2, 0] → 1

Ноль стоит в самом конце, а тройка в самом начале, так что их не разделить — остаётся один кусок.

Ограничения
  • 1 ≤ n ≤ 10
  • order — перестановка чисел 0, 1, …, n − 1
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПерестроить середину шеренги СредняяУступающие герои СредняяПартии для сортировки с повторами СложнаяКолонны на финише СредняяДерево из произведений листьев Средняя
загружаем Python…
Вход
order=[2, 0, 1, 4, 3, 5]
Ожидается
3

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