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