#力扣 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;i
a[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;i
a[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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:#力扣 LeetCode224. 基本计算器 @FDDLC
下一篇:#力扣 LeetCode1047. 删除字符串中的所有相邻重复项 @FDDLC

发表评论

最新留言

不错!
[***.144.177.141]2024年04月15日 06时52分50秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章