# Blogs Hub

### by Sumit Chourasia | Sep 27, 2020 | Category :coding | Tags : algorithmarrayडेटा-संरचनाआसानleetcode

#### 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{
}
}

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)

Contributed By: Sumit Chourasia
Contributed By: Sumit Chourasia
Contributed By: Sumit Chourasia
Contributed By: Sumit Chourasia