LeetCode简单题之卡牌分组
题目
给定一副牌,每张牌上都写着一个整数。
此时,你需要选定一个数字 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简单题之卡牌分组相关推荐
- Leetcode每日一题(914. 卡牌分组)
914. 卡牌分组 题目: 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相同的整数 ...
- 记录一下自己做的leetcode题(卡牌分组)
这是每日一题的题型中的 题目如下: 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相 ...
- LeetCode简单题之较大分组的位置
题目 在一个由小写字母构成的字符串 s 中,包含由一些连续的相同字符所构成的分组. 例如,在字符串 s = "abbxxxxzyy" 中,就含有 "a", &q ...
- LeetCode题组:第914题-卡牌分组
题目:卡牌分组 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相同的整数. 仅当你可 ...
- js + leetcode刷题:No.914 卡牌分组
思路:计数:求最大公约数,与2比较 题目: 卡牌分组 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内 ...
- 数据结构与算法之数组: Leetcode 914. 卡牌分组 (Typescript版)
卡牌分组 https://leetcode.cn/problems/x-of-a-kind-in-a-deck-of-cards/ 描述 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 ...
- LeetCode 914. 卡牌分组
914. 卡牌分组 思路:统计个数,然后求最小公约数 class Solution { public:bool hasGroupsSizeX(vector<int>& deck) ...
- 伍六七带你学算法 入门篇-卡牌分组
力扣-914. 卡牌分组 难度-简单 这是一道非常有趣的题,提交通过率令人深思 ,思考它是不是一道简单的题- 开始正题: 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以 ...
- 力扣:914. 卡牌分组 题解(Java)
题目地址:卡牌分组 题目描述: 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相同的 ...
最新文章
- Linux-pidstat Monitor and Find Statistics for Linux Procesess
- 理念高大上的智慧社区,要落地还得俯下身解决四个现实问题
- 基于jquery的侧边栏分享导航
- mysql5.7重置密码windows_MySql 5.7 for Windows 重置root密码
- Java实训项目2:GUI学生信息管理系统 - 系统概述
- Java学习系列(十五)Java面向对象之细谈线程、线程通信(下)
- PHP 利用CURL抓取页面内容
- 计算机用户名显示TEMP,windows7登陆创建TEMP临时个人配置文件夹解决方法-系统操作与应用
-亦是美网络...
- 光耦合器的工作原理和作用
- linux head
- 最新大麦网抢票脚本-Python实战
- iOS 使用TestFlight进行App外部测试
- Oracle中TO_DATE用法
- 【质数乘积且包含回文快速近积数】2021-11-22
- 训练softmax分类器实例_一个值得深思的问题?为什么验证集的loss会小于训练集的loss...
- 百度搜索引擎爬行蜘蛛IP大全
- 要是有天你不想再敲代码了,你想做什么?
- 2022-2028全球与中国防弹汽车玻璃市场现状及未来发展趋势
- html模板动画效果图,html5动画模板_使基本HTML模板更上一层楼的动画
- 学习网站整理之3——html5学习之简易音乐播放器制作