X of a Kind in a Deck of Cards - Array - Easy - LeetCode
💻 coding

X of a Kind in a Deck of Cards - Array - Easy - LeetCode

1 min read 192 words
1 min read
ShareWhatsAppPost on X
  • 1The problem requires determining if a deck of cards can be split into groups of the same integer with size X >= 2.
  • 2Examples illustrate that valid partitions exist for certain decks, while others cannot be partitioned as required.
  • 3The solution involves calculating the greatest common divisor (GCD) of card counts to check for possible group sizes.

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"The problem requires determining if a deck of cards can be split into groups of the same integer with size X >= 2."

X of a Kind in a Deck of Cards - Array - Easy - LeetCode

In a deck of cards, each card has an integer written on it.

Return true if and only if you can choose X >= 2 such that it is possible to split the entire deck into 1 or more groups of cards, where:

Each group has exactly X cards. All the cards in each group have the same integer.

Example 1:

Input: deck = [1,2,3,4,4,3,2,1] Output: true Explanation: Possible partition [1,1],[2,2],[3,3],[4,4]. Example 2:

Input: deck = [1,1,1,2,2,2,3,3] Output: false´ Explanation: No possible partition. Example 3:

Input: deck = [1] Output: false Explanation: No possible partition. Example 4:

Input: deck = [1,1] Output: true Explanation: Possible partition [1,1]. Example 5:

Input: deck = [1,1,2,2,2,2] Output: true Explanation: Possible partition [1,1],[2,2],[2,2].

Constraints:

1 <= deck.length <= 10^4 0 <= deck[i] < 10^4

public class Solution {
 public bool HasGroupsSizeX(int[] deck) {
 if(deck.Length<=1){
 return false;
 }
 
 var map = new Dictionary<int,int>();
 for(int i=0;i<deck.Length;i++){
 if(map.ContainsKey(deck[i])){
 map[deck[i]]++;
 }
 else{
 map.Add(deck[i],1);
 }
 }
 
 int res = 0;
 foreach(var item in map){
 res = gcd(item.Value,res);
 }
 return res>1;
 }
 
 private int gcd(int a, int b){
 if(b>0){
 return gcd(b,a%b);
 }
 
 return a;
 }
}

Time Complexity: O(n)

Space Complexity: O(n)

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 27 September 2020 · 1 min read · 192 words

Part of AskGif Blog · coding

You might also like

X of a Kind in a Deck of Cards - Array - Easy - LeetCode | AskGif Blog