美文网首页
61-扑克牌中的顺子

61-扑克牌中的顺子

作者: 一方乌鸦 | 来源:发表于2020-05-07 09:38 被阅读0次

    从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。
    判断条件:最大的数字减最小的数字 < 5 && 除 0 外没有重复数字
    判断 有没有重复使用的Set,加进去的数字数量a和set中的数量b,如果相等表示没有重复。

    public class Solution {
        public boolean isContinuous(int [] numbers) {
            if (numbers == null || numbers.length != 5) return false;
            Arrays.sort(numbers);
            int i = 0, j = numbers.length - 1;
            while(numbers[i] == 0) i++;
            Set<Integer> set = new HashSet<>();
            for (int k = i ; k <= j; k++) {
                set.add(numbers[k]);
            }
            return numbers[j] - numbers[i] < 5 && set.size() == j - i + 1;
        }
    }
    

    相关文章

      网友评论

          本文标题:61-扑克牌中的顺子

          本文链接:https://www.haomeiwen.com/subject/xjtkghtx.html