题目所属分类
就是判断
原题链接
从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。
代码案例:输入: [1,2,3,4,5]
输出: True
题解
1.排序删除0
2.判重
3.末尾和第一个非零数之间相差不超过4
class Solution {
public boolean isStraight(int[] nums) {
int n = nums.length ;
if(n == 0) return false ;
Arrays.sort(nums);
int k = 0 ;
while(nums[k] == 0) k++ ;
for(int i = k +1 ;i < n ; i++){
if(nums[i] == nums[i-1])return false ;
}
return nums[n - 1 ]-nums[k] <= 4 ;
}
}