描述
现在有2副扑克牌,从扑克牌中随机五张扑克牌,我们需要来判断一下是不是顺子。
有如下规则:
1. A为1,J为11,Q为12,K为13,A不能视为14
2. 大、小王为 0,0可以看作任意牌
3. 如果给出的五张牌能组成顺子(即这五张牌是连续的)就输出true,否则就输出false。
4.数据保证每组5个数字,每组最多含有4个零,数组的数取值为 [0, 13]
输入描述:
输入五张扑克牌的值
返回值描述:
五张扑克牌能否组成顺子。
import java.util.*;
public class Solution {
public boolean IsContinuous(int [] numbers) {
Set<Integer> set =new HashSet<>(); / /用set集合来存
int max=Integer.MIN_VALUE;
int min=Integer.MAX_VALUE;
for(int num:numbers){
if(num==0){ //出现鬼的判断
continue;}
if(set.contains(num)){//重复返回错误
return false;}
else {
set.add(num);//否则往集合加入
}
max=Math.max(max,num); //在set集合取最大值
min=Math.min(min,num);//在set集合取最小值
}
return max-min<5; //重点理解,如果一个顺子最大值-最小值<=4;否则就会超过四判断错误返回false;
}}