JS 卡牌分組 陣列 數學

2021-09-01 20:45:00 字數 872 閱讀 9161

給定一副牌,你需要將整副牌分成 1 組或多組。

要求:每組牌數量相等、組內每張牌數字相等,

僅當你可選的 x >= 2 時返回 true。

輸入:[1,2,3,4,4,3,2,1] , 輸出:true

解釋:可行的分組是 [1,1],[2,2],[3,3],[4,4]

輸入:[1,1,2,2,2,2] , 輸出:true

解釋:可行的分組是 [1,1],[2,2],[2,2]

輸入:[1,1,1,2,2,2,3,3] ,輸出:false

解釋:沒有滿足要求的分組。

就是找乙個集體公約數,

收集每張牌的數量存入新陣列 arr ,

公約數 x 從2 往上累加 ,最大不超過 min(arr)

判斷 arr[i] 能否被 x 整除

// 2018 /11/25 sun 下午

var hasgroupssizex = function(deck) , max, min , arr=, n=0

if(deck.length<2) return false;

for(var i=0;i0)else

}for( i in obj)

if((min==1 && min!=max) || deck.length<2) return false;

var x=2,status

while(min>=x){

status=0

for(var i=0;i69 / 69 個通過測試用例

執行用時:76 ms

leetcode914 js卡牌分組

題目 給定一副牌,每張牌上都寫著乙個整數。此時,你需要選定乙個數字 x,使我們可以將整副牌按下述規則分成 1 組或更多組 每組都有 x 張牌。組內所有的牌上都寫著相同的整數。僅當你可選的 x 2 時返回 true。解題思路 將 1,2,3,4,4,4,4,3,2,1 轉化為,也就是將陣列的值當做鍵,...

卡牌分組 leetcode

給定一副牌,每張牌上都寫著乙個整數。僅當你可選的x 2時返回true。示例 1 輸入 1,2,3,4,4,3,2,1 輸出 true解釋 可行的分組是 1,1 2,2 3,3 4,4 示例 2 輸入 1,1,1,2,2,2,3,3 輸出 false解釋 沒有滿足要求的分組。示例 3 輸入 1 輸出 ...

914 卡牌分組

給定一副牌,每張牌上都寫著乙個整數。每組都有 x 張牌。組內所有的牌上都寫著相同的整數。僅當你可選的 x 2 時返回 true。示例 1 輸入 1,2,3,4,4,3,2,1 輸出 true 解釋 可行的分組是 1,1 2,2 3,3 4,4 示例 2 輸入 1,1,1,2,2,2,3,3 輸出 f...