LeetCode 914 卡牌分組

2022-09-08 10:18:09 字數 865 閱讀 1477

僅當你可選的 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]

輸出:false

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

示例 4:

輸入:[1,1]

輸出:true

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

示例 5:

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

輸出:true

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

假設每個數出現次數為$count_i$,每組都有x張牌且寫著相同的數,可以得出x是所有數對應$count_i$的公約數,如果最大公約數為1則返回false。

時間複雜度:o(nlogc),其中 n 是卡牌的個數,c 是陣列 deck 中數的範圍,在本題中 c 的值為 10000。求兩個數最大公約數的複雜度是 o(logc),需要求最多 n - 1次

空間複雜度:o(n)

class solution 

int t = hash[deck[0]];

for (int i = 1; i < deck.size(); ++i)

return true;

}};

leetcode 914 卡牌分組

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

leetcode 914 卡牌分組

給定一副牌,每張牌上都寫著乙個整數。僅當你可選的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 輸...

LeetCode 914卡盤分組

看了官方題解如下 class solution return false 我一直在想,如果使用c語言怎麼實現 vues.add count i 這一步,也就是將count i 0 的這一部分存下來,後來參考了其他人的題解寫出的c語言的 發現真的需要將這些過濾出來麼,我不過濾直接進行遍歷不是也是可以的...