力扣914.卡牌分组
题目描述
给定一副牌,每张牌上都写着一个整数。
此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:
每组都有 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]
输出:false
解释:没有满足要求的分组。示例 3:输入:[1]
输出:false
解释:没有满足要求的分组。示例 4:输入:[1,1]
输出:true
解释:可行的分组是 [1,1]示例 5:输入:[1,1,2,2,2,2]
输出:true
解释:可行的分组是 [1,1],[2,2],[2,2]
提示:
1 <= deck.length <= 10000
0 <= deck[i] < 10000
解题思路
第一层:用一个数组count记录每个整数出现的次数
第二层:写个gcd函数找出各整数出现次数的最大公因数
代码
int gcd(int a, int b){if(b==0)return a;else return gcd(b,a%b);
}bool hasGroupsSizeX(int* deck, int deckSize){int max = 0;int ret = 0;for(int l=0;l<deckSize;l++){if(deck[l]>max)max=deck[l];}//int count[max]={0};int *count=(int *)malloc((max+1)*sizeof(int));memset(count,0,(max+1)*sizeof(int));for(int i=0;i<deckSize;i++){count[deck[i]]++;}for(int k=0;k<=max;k++){if(count[k]>0)ret=gcd(count[k],ret);}return ret>=2? true:false;}
链接
力扣914.卡牌分组相关推荐
- Leetcode每日一题(914. 卡牌分组)
914. 卡牌分组 题目: 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相同的整数 ...
- LeetCode 914. 卡牌分组
914. 卡牌分组 思路:统计个数,然后求最小公约数 class Solution { public:bool hasGroupsSizeX(vector<int>& deck) ...
- 力扣:914. 卡牌分组 题解(Java)
题目地址:卡牌分组 题目描述: 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 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. 卡牌分组(最大公约数)
1. 题目 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相同的整数. 仅当你可选的 ...
- python【力扣LeetCode算法题库】914. 卡牌分组(reduce collections.Counter)
给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相同的整数. 仅当你可选的 X > ...
- 【Leetcode】914. 卡牌分组
文章目录 [题目] [题目分析] [代码实践] [题目] 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相同的整数. 仅当 ...
- 2021-12-8 Leetcode 914.卡牌分组
class Solution {public:bool hasGroupsSizeX(vector<int>& deck) {map<int,int> hash_map ...
最新文章
- 你想要的宏基因组-微生物组知识全在这(181001)
- activity属性设置大全
- C#抽象工厂模式的几种实现方法及比较
- contos LINUX搭建LAMP笔记
- git :设置 object-c 的忽略文件
- cocos2dx中加入unzip
- VisualSVN Server 修改用户密码
- 【scratch案例教学】Scratch弹力球小游戏 scratch编程案例教学 少儿编程教案
- ios 音频录音、上传至7牛、播放及其与android兼容的问题
- 谈谈移动硬盘或者手机连接到PC提示“无法访问,拒绝访问”或“您没有访问该设备的权限”的解决办法
- idea运行web项目光标乱跳
- Python爬取百度文库的内容输出
- Instant及LocalDateTime等使用方法
- excel条件格式使用详细步骤
- XP系统,开机启动报NTDETECT 失败
- USB SS-PHY Tuning
- 单片机入门学习五 STM32单片机学习二 跑马灯程序衍生出的stm32编程基础
- SQL全方位攻略:之数据库历史、数据库基本概念和相关术语,以及常见的数据库类型介绍
- php 元旦祝福,元旦祝福语大全简短 简短独特
- java公社博客_Java面向对象开发学习笔记(一)