題目描述
從撲克牌中隨機抽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] .
題解
0可以看成任意數
判斷是否有重復的數字,如果有回傳false
得到最大值和最小值,判斷max - min,如果小于5則可以組成順子
class Solution {
public boolean isStraight(int[] nums) {
Set<Integer> set = new HashSet<Integer>();
int Min = 20, Max = 0;
for(int i = 0; i <= 4; i++){
if(set.contains(nums[i])) return false;
if(nums[i] == 0) continue;
set.add(nums[i]);
Min = Math.min(Min,nums[i]);
Max = Math.max(Max, nums[i]);
}
if(Max - Min < 5) return true;
else return false;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/267410.html
標籤:其他
上一篇:Git之Feature分支
下一篇:LeetCode刷題的一天(2)
