Implement a card set detection system that finds the strongest possible set.
Card Format: "
Sets (weakest to strongest):
Example: {
"set_name": "pair",
"selected_cards": ["10H", "10S"]
}
Example: {
"set_name": "triple",
"selected_cards": ["AH", "AD", "AC"]
}
Example: {
"set_name": "five in a row",
"selected_cards": ["7S", "8S", "9S", "10S", "JC"]
}
Example: {
"set_name": "suit",
"selected_cards": ["2D", "4D", "6D", "8D", "9D"]
}
Example: {
"set_name": "a triple and a pair",
"selected_cards": ["10D", "10H", "10C", "JH", "JC"]
}
You are given N cards with suits (S, H, D, C) and ranks (2-10, J, Q, K, A). Each card is formatted as "
Card Sets (weakest to strongest):
Name: "single card"
Highest rank card, suit irrelevant
Name: "pair"
Example: {
"set_name": "pair",
"selected_cards": ["10H", "10S"]
}
Name: "triple"
Example: {
"set_name": "triple",
"selected_cards": ["AH", "AD", "AC"]
}
Name: "five in a row"
Example: {
"set_name": "five in a row",
"selected_cards": ["7S", "8S", "9S", "10S", "JC"]
}
Name: "suit"
Example: {
"set_name": "suit",
"selected_cards": ["2D", "4D", "6D", "8D", "9D"]
}
Suit order (highest to lowest): S > H > D > C
Name: "a triple and a pair"
Example: {
"set_name": "a triple and a pair",
"selected_cards": ["10D", "10H", "10C", "JH", "JC"]
}
System design question with multiple components: