diff --git a/0950-reveal-cards-in-increasing-order/0950-reveal-cards-in-increasing-order.py b/0950-reveal-cards-in-increasing-order/0950-reveal-cards-in-increasing-order.py new file mode 100644 index 0000000..0ec2a24 --- /dev/null +++ b/0950-reveal-cards-in-increasing-order/0950-reveal-cards-in-increasing-order.py @@ -0,0 +1,32 @@ +class Solution: + def deckRevealedIncreasing(self, deck: List[int]) -> List[int]: + """ + Complexities: + Time: O(n^2) + Space: O(n) + + where n = len(deck) + """ + # run through a sample deck, save ordering + sample = [i for i in range(len(deck))] + + revealedCards = [] + while len(revealedCards) < len(deck): + revealedCards.append(sample[0]) + sample.pop(0) + + if len(sample) == 0: + break + + sample.append(sample[0]) + sample.pop(0) + + # sort deck + deck.sort() + + # replace sample with deck values + returnedArr = [-1] * len(deck) + for i in range(len(revealedCards)): + returnedArr[revealedCards[i]] = deck[i] + + return returnedArr \ No newline at end of file