从扑克牌中随机抽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] .

Python 解答:

class Solution:
    def isStraight(self, nums: List[int]) -> bool:
        nums.sort()
        for i in range(4):
            if nums[i] != 0 and nums[i] == nums[i+1]:
                return False
        count = 0
        for item in nums:
            if not item:
                count += 1
        # if nums[0] != 0:
        #     if nums[4]-nums[0] == 4:
        #         return True
        #     else:
        #         return False
        # if nums[0] == 0 and nums[1] != 0:
        #     if nums[4]-nums[1] <= 4:
        #         return True
        #     else:
        #         return False
        # if nums[1] == 0 and nums[2] != 0:
        #     if nums[4]-nums[2] <= 4:
        #         return True
        #     else:
        #         return False
        # if nums[2] == 0 and nums[3] != 0:
        #     if nums[4]-nums[3] <= 4:
        #         return True
        #     else:
        #         return False
        if nums[4]-nums[count] <= 4:
            return True
        else:
            return False
        return True
最后修改日期: 2021年4月16日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。