剑指 Offer 61. 扑克牌中的顺子

思路
1.为了更好地检查顺子,那么就先对数组进行排序
2.遍历数组,计算0(鬼牌的数量)
3.遍历时,如果存在除0外相同的牌,那么直接返回false
4.最后判断最后一张牌和第一张非鬼牌的差距是否小于5,在5之内说明可以用鬼牌弥补顺序
代码
public boolean isStraight(int[] nums) {
int j=0;
Arrays.sort(nums);
for(int i=0;i<4;i++){
if(nums[i]==0)j++;
else{
if(nums[i]==nums[i+1])return false;
}
}
return nums[4]-nums[j]<5;
}
这篇博客介绍了如何判断扑克牌中是否存在顺子,主要思路是先对数组排序,然后检查是否有鬼牌(0)及重复牌,最后判断序列最大值与最小非鬼牌之差是否小于5。代码实现简洁高效。

被折叠的 条评论
为什么被折叠?



