每日算法题之扑克牌顺子

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;
    }
}


当前标题:每日算法题之扑克牌顺子
URL分享:http://csruizhi.cn/article/dsopdsc.html

其他资讯

Copyright © 2007-2024 成都优众联杰科技有限公司 All Rights Reserved 蜀ICP备2024116266号
友情链接: 高端网站建设 手机网站制作 成都定制网站建设 成都网站制作 成都网站设计制作公司 成都网站设计 成都网站建设 网站制作公司 网站制作公司 重庆网站制作 外贸网站建设 企业网站设计 成都网站建设公司 企业手机网站建设 定制网站设计 移动手机网站制作 成都网站设计 网站建设方案 商城网站建设 响应式网站设计 成都品牌网站设计 成都网站建设