難度簡單21
從撲克牌中隨機抽5張牌,判斷是不是一個順子,即這5張牌是不是連續的。2~10爲數字本身,A爲1,J爲11,Q爲12,K爲13,而大、小王爲 0 ,可以看成任意數字。A 不能視爲 14。
示例 1:
輸入: [1,2,3,4,5] 輸出: True
示例 2:
輸入: [0,0,1,2,5] 輸出: True
限制:
數組長度爲 5
數組的數取值爲 [0, 13] .
解題思路,利用1 2 3 4 5來看最大值5,最小值是1,差值爲5-1+1 = 5,所以只要差值小於等於5就可以用零補齊,然後再判斷是否有蟲回覆的出現,有重複直接返回false
class Solution {
public boolean isStraight(int[] nums) {
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
int [] arrays = new int[14];
Arrays.fill(arrays,0);
for(int i = 0;i<nums.length;i++){
if(nums[i] != 0){
if(arrays[nums[i]-1]<=1){
arrays[nums[i]-1]++;
}
if(arrays[nums[i]-1]>1){
return false;
}
min = Math.min(min,nums[i]);
max = Math.max(max,nums[i]);
}
}
return max-min+1<=5;
}
}