从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。其中,2-10为数字本身,a为1,j为11,q为12,k为13,而大小王可以看成任意数字。
时间: 2023-04-27 08:04:04 浏览: 270

php代码-从扑克牌中随机抽取5张牌,判断是不是一个顺子
可以将问题转化为判断5张牌的最大值和最小值的差是否小于等于4,并且没有重复的牌(除了大小王)。具体步骤如下:
1. 将牌按照大小排序,将大小王放在最后面。
2. 统计大小王的数量,记为jokerCount。
3. 遍历排序后的牌,如果出现重复的牌(除了大小王),则不是顺子,直接返回false。
4. 计算最大值和最小值的差,如果小于等于4,则是顺子,返回true;否则,如果有足够的大小王可以替换差值,也可以是顺子,返回true;否则,不是顺子,返回false。
代码实现如下:
public boolean isContinuous(int[] nums) {
if (nums == null || nums.length != 5) {
return false;
}
Arrays.sort(nums);
int jokerCount = 0;
for (int i = 0; i < 4; i++) {
if (nums[i] == 0) {
jokerCount++;
} else if (nums[i] == nums[i + 1]) {
return false;
}
}
return nums[4] - nums[jokerCount] <= 4;
}
阅读全文
相关推荐

















