剑指 Offer 61. 扑克牌中的顺子

import java.util.Set;
import java.util.HashSet;
public class Solution {
    public boolean isContinuous(int [] numbers) {
        //边界判断
        if(numbers == null || numbers.length == 0){
            return false;
        }
        //定义顺子中的最小排 和 最大牌
        int minNum = 14;
        int maxNum = 0;
        //定义一个set,用来记录是否有重复排
        Set<Integer> set = new HashSet<>();
        for(int num : numbers){
            //大小王跳过
            if(num == 0){
                continue;
            }
            //算最大牌 和 最小牌
            maxNum = Math.max(maxNum,num);
            minNum = Math.min(minNum,num);
            //判断是否有重复排,有则不符合
            if(set.contains(num)){
                return false;
            }
            //将出现的牌 加入set
            set.add(num);
        }
        //若 最大牌 - 最小牌 < 5,则为顺子
        return maxNum - minNum < 5;
    }
}
原文地址:https://www.cnblogs.com/peanut-zh/p/14152124.html