题目描述:
从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。
2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。
限制:
数组长度为 5
数组的数取值为 [0, 13] .
方法:排序 + 遍历
class Solution{ public boolean isStraight(int nums[]){ int joker=0; Arrays.sort(nums);//数组排序 for(int i=0;i<4;i++){ if(nums[i]==0) joker++;//统计大小王数量 else if(nums[i]==nums[i+1]) return false;//有重复提前返回false } return nums[4]-nums[joker]<5;//最大牌-最小牌<5则可构成顺子 } }