Skip to main content
LeetCode 950, Medium. Topics: Array, Queue, Sorting, Simulation. View on LeetCode. Generate this problem as a practice environment: tested reference solution, 12 parametrized pytest cases, and a playground notebook:

Problem

<p>You are given an integer array <code>deck</code>. There is a deck of cards where every card has a unique integer. The integer on the <code>i<sup>th</sup></code> card is <code>deck[i]</code>.</p> <p>You can order the deck in any order you want. Initially, all the cards start face down (unrevealed) in one deck.</p> <p>You will do the following steps repeatedly until all cards are revealed:</p> <ol> <li>Take the top card of the deck, reveal it, and take it out of the deck.</li> <li>If there are still cards in the deck then put the next top card of the deck at the bottom of the deck.</li> <li>If there are still unrevealed cards, go back to step 1. Otherwise, stop.</li> </ol> <p>Return <em>an ordering of the deck that would reveal the cards in <strong>increasing</strong> order</em>.</p> <p><strong>Note</strong> that the first entry in the answer is considered to be the top of the deck.</p>

Examples

Constraints

  • 1 <= deck.length <= 1000
  • 1 <= deck[i] <= 10^6
  • All the values of deck are unique.

Solution

Reference implementation from solution.py on GitHub, full suite in test_solution.py:

Complexity

Tags

NeetCode All.
Last modified on September 7, 2026