题目

给定一副牌,每张牌上都写着一个整数。
此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:
每组都有 X 张牌。
组内所有的牌上都写着相同的整数。
仅当你可选的 X >= 2 时返回 true。
示例 1:
输入:deck = [1,2,3,4,4,3,2,1]
输出:true
解释:可行的分组是 [1,1],[2,2],[3,3],[4,4]
示例 2:
输入:deck = [1,1,1,2,2,2,3,3]
输出:false
解释:没有满足要求的分组。
提示:
1 <= deck.length <= 10^4
0 <= deck[i] < 10^4
来源:力扣(LeetCode)

解题思路

  首先要建立元素的频率表,然后再求出n个元素频率的最大公约数,如果公约数大于等于2则此公约数就是X题目成立。

class Solution:def hasGroupsSizeX(self, deck: List[int]) -> bool:d={}for i in deck:d[i]=d.get(i,0)+1if len(d)==1:  #如果deck里只有一个元素则不成立,如果只有一类元素则看它的频率是否大于等于2return False if d[deck[0]]<2 else TrueD=list(d.values())#求各个元素的最大公约数M=math.gcd(D[0],D[1])if M<2:return Falsefor i in D[2:]:M=math.gcd(M,i)if M<2:return Falsereturn True

LeetCode简单题之卡牌分组相关推荐

  1. Leetcode每日一题(914. 卡牌分组)

    914. 卡牌分组 题目: 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相同的整数 ...

  2. 记录一下自己做的leetcode题(卡牌分组)

    这是每日一题的题型中的 题目如下: 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相 ...

  3. LeetCode简单题之较大分组的位置

    题目 在一个由小写字母构成的字符串 s 中,包含由一些连续的相同字符所构成的分组. 例如,在字符串 s = "abbxxxxzyy" 中,就含有 "a", &q ...

  4. LeetCode题组:第914题-卡牌分组

    题目:卡牌分组 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相同的整数. 仅当你可 ...

  5. js + leetcode刷题:No.914 卡牌分组

    思路:计数:求最大公约数,与2比较 题目: 卡牌分组 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内 ...

  6. 数据结构与算法之数组: Leetcode 914. 卡牌分组 (Typescript版)

    卡牌分组 https://leetcode.cn/problems/x-of-a-kind-in-a-deck-of-cards/ 描述 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 ...

  7. LeetCode 914. 卡牌分组

    914. 卡牌分组 思路:统计个数,然后求最小公约数 class Solution { public:bool hasGroupsSizeX(vector<int>& deck) ...

  8. 伍六七带你学算法 入门篇-卡牌分组

    力扣-914. 卡牌分组 难度-简单 这是一道非常有趣的题,提交通过率令人深思 ,思考它是不是一道简单的题- 开始正题: 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以 ...

  9. 力扣:914. 卡牌分组 题解(Java)

    题目地址:卡牌分组 题目描述: 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相同的 ...

最新文章

  1. Linux-pidstat Monitor and Find Statistics for Linux Procesess
  2. 理念高大上的智慧社区,要落地还得俯下身解决四个现实问题
  3. 基于jquery的侧边栏分享导航
  4. mysql5.7重置密码windows_MySql 5.7 for Windows 重置root密码
  5. Java实训项目2:GUI学生信息管理系统 - 系统概述
  6. Java学习系列(十五)Java面向对象之细谈线程、线程通信(下)
  7. PHP 利用CURL抓取页面内容
  8. 计算机用户名显示TEMP,windows7登陆创建TEMP临时个人配置文件夹解决方法-系统操作与应用 -亦是美网络...
  9. 光耦合器的工作原理和作用
  10. linux head
  11. 最新大麦网抢票脚本-Python实战
  12. iOS 使用TestFlight进行App外部测试
  13. Oracle中TO_DATE用法
  14. 【质数乘积且包含回文快速近积数】2021-11-22
  15. 训练softmax分类器实例_一个值得深思的问题?为什么验证集的loss会小于训练集的loss...
  16. 百度搜索引擎爬行蜘蛛IP大全
  17. 要是有天你不想再敲代码了,你想做什么?
  18. 2022-2028全球与中国防弹汽车玻璃市场现状及未来发展趋势
  19. html模板动画效果图,html5动画模板_使基本HTML模板更上一层楼的动画
  20. 学习网站整理之3——html5学习之简易音乐播放器制作

热门文章

  1. 2022-2028年中国袋式除尘用滤料行业市场全景评估及发展策略分析报告
  2. 2022-2028年中国超声波探伤仪行业市场现状调研及发展前景分析报告
  3. kali安装vscode和无法启动解决方法
  4. Mybatis传递多个参数的4种方式
  5. 使用colab平台进行训练
  6. MyBatis批量插入几千条数据慎用foreach
  7. 堆栈,数据,文本,heap,bss,text data,stack
  8. MindSpore网络模型类
  9. Nsight Compute Profilier 分析
  10. 广泛的信号处理链如何让语音助理“正常工作”