-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy path0950-reveal-cards-in-increasing-order.js
39 lines (36 loc) · 1.21 KB
/
0950-reveal-cards-in-increasing-order.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
* 950. Reveal Cards In Increasing Order
* https://leetcode.com/problems/reveal-cards-in-increasing-order/
* Difficulty: Medium
*
* You are given an integer array deck. There is a deck of cards where every card has a
* unique integer. The integer on the ith card is deck[i].
*
* You can order the deck in any order you want. Initially, all the cards start face down
* (unrevealed) in one deck.
*
* You will do the following steps repeatedly until all cards are revealed:
* 1. Take the top card of the deck, reveal it, and take it out of the deck.
* 2. If there are still cards in the deck then put the next top card of the deck at the
* bottom of the deck.
* 3. If there are still unrevealed cards, go back to step 1. Otherwise, stop.
*
* Return an ordering of the deck that would reveal the cards in increasing order.
*
* Note that the first entry in the answer is considered to be the top of the deck.
*/
/**
* @param {number[]} deck
* @return {number[]}
*/
var deckRevealedIncreasing = function(deck) {
deck.sort((a, b) => b - a);
const result = [];
for (const card of deck) {
if (result.length) {
result.unshift(result.pop());
}
result.unshift(card);
}
return result;
};