カードのデッキを考えると、各カードには、整数に書かれています。
この時点で、あなたは私たちが一の以上のグループに次のルールに従ってカードの完全なデッキできるようにという、デジタルXを選択する必要があります。
各グループは、Xカードを持っています。
グループ内のすべてのカードで同じ整数を書かれています。
> = 2がtrueを返す場合にのみ、あなたのオプションX.
例1:
入力:[1,2,3,4,4,3,2,1]
出力:真
解釈:グループ化が可能である[1,1]、[2,2]、[3,3]、[4,4 】
実施例2:
入力:[1,1,1,2,2,2,3,3]
出力:偽
の解釈:パケットが要件を満たしていません。
例3:
入力:[1]
出力:偽
の解釈:パケットが要件を満たしていません。
例4:
入力:[1,1]
出力:真
解釈:グルーピングが可能である[1,1]
実施例5:
入力:[1,1,2,2,2,2]
出力:真
の解釈:グループ化が可能である[1,1]、[2,2]、[2,2]
ヒント:
1 <= deck.length <= 10000
0 <=デッキ[I] <10000
出典:滞在ボタン(LeetCode)
リンクします。https://leetcode-cn.com/problems/x-of-a-kind-in-a-deck-of-cards
クラス解決{ パブリック: int型 GCD(int型、INT B)を{ 戻り B == 0:GCD(B、%のB)。 } ブール hasGroupsSizeX(ベクトル< INT >&デッキ){ int型 [ 10010 ]。 memset(0、はsizeof ())。 int型NUM; int型 MAXX = 0 ; 用(INT iは= 0 ; I <deck.size()は、i ++ ){ [デッキ[I]++ ; NUM = [デッキ[I]]。 MAXX = MAX(MAXX、デッキ[I])。 } ため(INT iは= 0 ; I <= MAXX; I ++ ){ 場合([I] =!0)NUM = GCD(NUM、[I])。 } であれば(NUM == 1)戻り 偽。 返す 真; } }。