每日算法题之扑克牌顺子

JZ61 扑克牌顺子

描述

现在有2副扑克牌,从扑克牌中随机五张扑克牌,我们需要来判断一下是不是顺子。
有如下规则:
1. A为1,J为11,Q为12,K为13,A不能视为14
2. 大、小王为 0,0可以看作任意牌
3. 如果给出的五张牌能组成顺子(即这五张牌是连续的)就输出true,否则就输出false。
4.数据保证每组5个数字,每组最多含有4个零,数组的数取值为 [0, 13]

具体做法:

将 nums 数组依次装入 set集合,遇到 0 则返回装下一个元素,出现重复元素则返回 false,并在其中记录max,min,最终max-min >= 5的都不是顺子;

代码

package esay.JZ61扑克牌顺子;

import java.util.HashSet;

public class Solution {
    public boolean IsContinuous(int [] numbers) {
        HashSet set = new HashSet<>();
        int min = Integer.MAX_VALUE;
        int max = Integer.MIN_VALUE;

        for (int number : numbers) {
            if (number == 0) continue;

            if (set.contains(number)) {
                return false;
            } else {
                set.add(number);
            }

            max = Math.max(max, number);
            min = Math.min(min, number);
        }

        return max - min < 5;
    }
}


网站名称:每日算法题之扑克牌顺子
当前地址:http://bzwzjz.com/article/dsopdsc.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站建设公司 网站设计制作 营销网站建设 企业网站设计 成都网站设计 广安网站设计 手机网站制作 品牌网站建设 重庆网站建设 成都网站建设 成都网站设计公司 高端网站设计推广 手机网站建设 成都网站制作 手机网站制作 成都网站设计 重庆网站设计 外贸网站设计方案 成都网站设计 成都网站建设 手机网站制作 网站建设推广