Задача 15: Показывайте карты в возрастающем порядке

Напишите определение функции deckRevealedIncreasing(deck), которая принимает массив целых чисел deck, представляющий уникальные значения карт в колоде.

Есть колода карт, где каждая карта имеет уникальное целое число. Число на карте с индексом i равно deck[i].

Вы можете упорядочить колоду в любом порядке. Изначально все карты находятся в колоде, повернутые рубашкой вверх (неоткрытые).

Вы выполняете следующие шаги, пока все карты не будут открыты:

  1. Берете верхнюю карту колоды, открываете ее и убираете из колоды.
  2. Если в колоде остаются карты, перемещаете следующую верхнюю карту на дно колоды.
  3. Если остались неоткрытые карты, возвращаетесь к шагу 1. Иначе останавливаетесь.

Верните такой порядок в колоде, чтобы карты открывались в возрастающем порядке.

Обратите внимание, что первый элемент результата считается верхом колоды.


Примеры

Пример 1:
Ввод: deck = [17,13,11,2,3,5,7]
Вывод: [2,13,3,11,5,17,7]
Пояснение:
Мы упорядочим колоду следующим образом: [17,13,11,2,3,5,7] (порядок входного массива не важен), затем изменим порядок на [2,13,3,11,5,17,7], где 2 находится сверху.

Далее выполняются шаги:

  1. Открываем 2, перемещаем 13 вниз. Колода: [3,11,5,17,7,13].
  2. Открываем 3, перемещаем 11 вниз. Колода: [5,17,7,13,11].
  3. Открываем 5, перемещаем 17 вниз. Колода: [7,13,11,17].
  4. Открываем 7, перемещаем 13 вниз. Колода: [11,17,13].
  5. Открываем 11, перемещаем 17 вниз. Колода: [13,17].
  6. Открываем 13, перемещаем 17 вниз. Колода: [17].
  7. Открываем 17.

Все карты открыты в возрастающем порядке, что подтверждает правильность результата.


Пример 2:
Ввод: deck = [1,1000]
Вывод: [1,1000]

Пояснение:
Уже открываются в порядке возрастания.

0

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии