914. 卡牌分组
- 题号:力扣914
- 知识点:哈希,计数
- 目标完成度:27/150
- 总结
题干:
思路:
- 1.首先使用哈希表统计数组中各个相同元素的个数
- 2.检查是否有出现次数小于2 的,如果有直接返回False
- 3.找公约数,暴力解法,从[2, max_v+1],只要能找到一个公约数就返回True
class Solution:
def hasGroupsSizeX(self, deck: List[int]) -> bool:
dic = collections.Counter(deck)
min_v = min(dic.values())
max_v = max(dic.values())
if min_v < 2:
return False
for x in range(2, max_v+1):
if all(value%x == 0 for value in dic.values()):
return True
return False