Ctrl K

Колода для фокуса по возрастанию

Средняя
Фокусник держит колоду карт рубашкой вверх, на каждой карте — своё число, все числа разные. Числа даны в списке cards в произвольном порядке. Фокус идёт так, пока в руке есть карты: 1. Верхнюю карту переворачивают и выкладывают на стол. 2. Если в колоде ещё остались карты, следующую верхнюю карту, не открывая, перекладывают под низ колоды. Разложите карты так, чтобы они открывались строго по возрастанию. Верните получившуюся колоду списком: первый элемент — верхняя карта.
Пример 1
cards=[40, 10, 30, 20] → [10, 30, 20, 40]

Колода [10, 30, 20, 40]: открываем 10, 30 уходит вниз → [20, 40, 30]; открываем 20, 40 вниз → [30, 40]; открываем 30, 40 вниз → [40]; открываем 40. Порядок 10, 20, 30, 40.

Пример 2
cards=[9, 4, 7] → [4, 9, 7]

Колода [4, 9, 7]: открываем 4, 9 уходит вниз → [7, 9]; открываем 7, 9 вниз → [9]; открываем 9.

Пример 3
cards=[5] → [5]
Ограничения
  • 1 ≤ len(cards) ≤ 1000
  • 1 ≤ cards[i] ≤ 10⁶
  • Все числа в cards различны
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиХватит ли мест в шаттле СредняяПоследний в кругу СредняяВычёркивание с самого маленького СредняяРаунды по максимумам строк СредняяПалеты после переездов Средняя
загружаем Python…
Вход
cards=[40, 10, 30, 20]
Ожидается
[10, 30, 20, 40]

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