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