劍指offer 61. 撲克牌中的順子

題目鏈接
題目描述
從撲克牌中隨機抽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] .

題解鏈接
代碼

class Solution {
    public boolean isStraight(int[] nums) {
        //記錄每個數字出現的數目
        int[] count =new int[15];
        //將minValue設爲可能的最大值,將maxValue設爲可能的最小值
        int minValue = 14;
        int maxValue =0;
        for(int num:nums){
            //出現大小王則跳過
            if(num==0){
                continue;
            }
            else{
                count[num]++;
            }
            //如果出現重複數字則返回false
            if(count[num]>1){
                return false;
            }
            minValue = Math.min(minValue,num);     
            maxValue = Math.max(maxValue,num);
        }
        if(maxValue - minValue + 1 <= 5){
            return true;
        }
        return false;

    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章