本文共 1561 字,大约阅读时间需要 5 分钟。
为了判断抽到的扑克牌是否形成一个顺子,我们需要考虑以下几点:
具体步骤如下:
以下是代码实现:
import java.util.Arrays;public class Solution { public boolean isStraight(int[] nums) { if (nums.length != 5) { return false; } Arrays.sort(nums); int count0 = 0; for (int num : nums) { if (num == 0) { count0++; } } int[] d = new int[nums.length - count0]; for (int i = 0; i < nums.length; i++) { if (nums[i] != 0) { d[i - count0] = nums[i]; } } if (d.length < 5) { if (count0 >= 2) { return true; } else { return false; } } else { boolean isConsecutive = true; for (int i = 1; i < d.length; i++) { if (d[i] - d[i-1] != 1) { isConsecutive = false; break; } } return isConsecutive; } }} 解释:
d,包含所有非零元素。d的长度小于5且0的数量至少为2,返回true,因为可以使用0来替换其中一个数字,使得剩下的四个数字连续。d的长度为5,检查这些数字是否连续。如果是,返回true;否则,返回false。转载地址:http://wdgfk.baihongyu.com/