排序,计算0的个数,看其他的数字是不是连续的,不连续的话用0补,如果0的个数不够补了,就无法构成顺子。
class Solution {
public boolean isStraight(int[] nums) {
Arrays.sort(nums);
int zore = 0;
for(int i = 0; i < nums.length - 1; i++){
if(nums[i] == 0){
zore++;
continue;
}
if(nums[i + 1] == nums[i]) return false;
zore -= nums[i + 1] - nums[i] - 1;
if(zore < 0) return false;
}
return true;
}
}