FastPrepFastPrep
Problem Brief

Deck of Cards Shuffling

OA

You are given a list containing multiple decks of cards, where each deck consists of 52 unique cards. The total number of cards, n, is guaranteed to be a multiple of 52. Each card is represented as a structure containing two fields: suit and rank. Write a function to shuffle all the cards together using a custom algorithm that mimics manual shuffling.

Constraints

  • The total number of cards, n, is guaranteed to be a multiple of 52, indicating that there are multiple decks.
  • Each card has a suit and a rank.
  • Suits are one of "Hearts", "Diamonds", "Clubs", "Spades".
  • Ranks are one of "A", "2", "3", ..., "10", "J", "Q", "K".

Function Signature

std::list<Card> shuffleAllDecks(const std::list<Card>& all_decks);

Input

The input all_decks is a std::list of Card structures containing one or more decks of cards. All the decks are combined into a single list for shuffling.

Output

Return a std::list<Card> where all the cards from the input have been shuffled together.

1Example 1

Input
all_decks = [ {"Hearts", "A"}, {"Hearts", "2"}, {"Hearts", "3"}, ..., {"Spades", "K"}, {"Hearts", "A"}, {"Hearts", "2"}, {"Hearts", "3"}, ..., {"Spades", "K"} ]
Output
[ {"Diamonds", "J"}, {"Hearts", "3"}, {"Clubs", "A"}, ...., {"Hearts", "4"} ]
Explanation

The function should simulate the shuffling of all cards combined by thoroughly mixing the cards from all decks together, mimicking the randomness of manual shuffling.

public String[][] shuffelAllDecks (String[][] all_decks) {
  // Write your code here:)
}
Input

all_decks

[ {"Hearts", "A"}, {"Hearts", "2"}, {"Hearts", "3"}, ..., {"Spades", "K"}, {"Hearts", "A"}, {"Hearts", "2"}, {"Hearts", "3"}, ..., {"Spades", "K"} ]

Output

[ {"Diamonds", "J"}, {"Hearts", "3"}, {"Clubs", "A"}, ...., {"Hearts", "4"} ]

Sign in to submit your solution.