diff options
author | jack <[email protected]> | 2024-06-14 13:13:15 -0600 |
---|---|---|
committer | jack <[email protected]> | 2024-06-14 13:13:15 -0600 |
commit | d343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa (patch) | |
tree | 96df922dae2a5073d9a50ea70c7aae6aa37e3ebe /reveal_cards_incr_order.py | |
download | leetcode-d343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa.tar.gz leetcode-d343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa.zip |
initial
Diffstat (limited to 'reveal_cards_incr_order.py')
-rw-r--r-- | reveal_cards_incr_order.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/reveal_cards_incr_order.py b/reveal_cards_incr_order.py new file mode 100644 index 0000000..2a1ca55 --- /dev/null +++ b/reveal_cards_incr_order.py @@ -0,0 +1,33 @@ +# 950. Reveal Cards In Increasing Order +from collections import deque + +""" +given an integer array 'deck'. there is a deck of cards where every card has +a unique integer. the integer on the i'th 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. take the top card of the deck, reveal it, and take it +out of the deck. if there are still cards in the deck, then put the next top +card of the deck at the bottom of the deck. 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. +""" + + +class Solution(object): + def deckRevealedIncreasing(self, deck): + """ + :type deck: List[int] + :rtype: List[int] + """ + d = deque() + for i in sorted(deck)[::-1]: + d.rotate() + d.appendleft(i) + return list(d) + + +if __name__ == "__main__": + obj = Solution() + print(obj.deckRevealedIncreasing(deck=[17, 13, 11, 2, 3, 5, 7])) + print(obj.deckRevealedIncreasing(deck=[1, 1000])) |