#力扣 LeeCode914. 卡牌分组 @FDDLC
发布日期:2021-06-30 21:02:55
浏览次数:3
分类:技术文章
本文共 1167 字,大约阅读时间需要 3 分钟。
题目描述:
Java代码:
class Solution {//分成 1 组或更多组; X >= 2 时返回 true;每组都有 X 张牌 public boolean hasGroupsSizeX(int[] a) {//12,18,21:2不行,3行 int[] cnt=new int[10000];//0 <= deck[i] < 10000 int max=a[0],min=a[0],end=0,minCnt=10000; //end用于紧缩 for(int i=0;ia[i])min=a[i]; } for(int i=min;i<=max;i++){ if(cnt[i]>0){ if(cnt[i]==1)return false;//直接返回false if(minCnt>cnt[i])minCnt=cnt[i]; cnt[end++]=cnt[i];//紧缩,去除0 } } for(int cd=2,i;cd<=minCnt;cd++){ for(i=0;i
class Solution {//分成 1 组或更多组; X >= 2 时返回 true;每组都有 X 张牌 public boolean hasGroupsSizeX(int[] a) {//12,18,21:2不行,3行 int[] cnt=new int[10000];//0 <= deck[i] < 10000 int max=a[0],min=a[0]; for(int i=0;ia[i])min=a[i]; } for(int i=min,gcd=cnt[min];i<=max;i++){ if(cnt[i]>0){ while(cnt[i]%gcd!=0){//求a[i]和gcd的最大公约数,再赋gcd int g=gcd; gcd=cnt[i]%gcd; cnt[i]=g; } if(gcd==1)return false; } } return true; }}
转载地址:https://liuxingchang.blog.csdn.net/article/details/114643598 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月15日 06时52分50秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux 常用命令
2019-04-30
递归及应用
2019-04-30
Android之Handler机制篇
2019-04-30
Android之网络协议篇
2019-04-30
Android之RecyclerView篇
2019-04-30
Android之Retrofit基本用法篇
2019-04-30
Netty与网络协议资料整理
2019-04-30
Golang相关资源整理
2019-04-30
设置Golang的开发环境
2019-04-30
对HTTP/2的部分理解
2019-04-30
Golang 逃逸分析
2019-04-30
golang实现大数据量文件的排序
2019-04-30
golang中的time包
2019-04-30
golang fmt包中的占位符
2019-04-30
Docker下使用Redis
2019-04-30
Redis的主从和集群设置
2019-04-30
对Redis Cluster的理解
2019-04-30
VC黑客编程实战视频-破解网吧电影下载。
2019-04-30
C++11FAQ 中文版带完整书签141页PDF
2019-04-30
2013年读书清单
2019-04-30