zoukankan      html  css  js  c++  java
  • #Leetcode# 914. X of a Kind in a Deck of Cards

    https://leetcode.com/problems/x-of-a-kind-in-a-deck-of-cards/

    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: [1,2,3,4,4,3,2,1]
    Output: true
    Explanation: Possible partition [1,1],[2,2],[3,3],[4,4]
    

    Example 2:

    Input: [1,1,1,2,2,2,3,3]
    Output: false
    Explanation: No possible partition.
    

    Example 3:

    Input: [1]
    Output: false
    Explanation: No possible partition.
    

    Example 4:

    Input: [1,1]
    Output: true
    Explanation: Possible partition [1,1]
    

    Example 5:

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


    class Solution {
    public:
        int hasGroupsSizeX(vector<int>& deck) {
            int len = deck.size();
            int num[10010];
            memset(num, 0, sizeof(num));
            if(len < 2) return false;
            for(int i = 0; i < len; i ++) num[deck[i]] ++;
            int ans = 0;
            for(int i = 0; i < 10010; i ++) {
                if(num[i]) ans = gcd(ans, num[i]);
            }
            return ans > 1;
        }
        
        int gcd(int a, int b) {
            return a == 0 ? b : gcd(b % a, a);
        }
        
    };
    

      

  • 相关阅读:
    Spring-AOP切面编程(3)
    【SpringBoot】SpingBoot整合AOP
    反射--Reflection
    泛型--Generic
    C#系统库的源代码
    C#中的?
    C#语法糖
    C#初识LINQ
    C#委托和事件的区别
    C#中的lambda表达式
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/12103901.html
Copyright © 2011-2022 走看看