扑克牌中的顺子
从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。
class Solution:
def isStraight(self, nums: List[int]) -> bool:
# count_0 = 0
# max_num, min_num = 0, 14
# for num in nums:
# if num == 0:
# count_0+=1
# else:
# if nums.count(num) > 1:
# return(False)
# if num < min_num:
# min_num = min(num, min_num)
# res = max(nums) - min_num
# if res - count_0 > 4:
# return(False)
# else:
# return(True)
#
min_num, max_num = 14, 0
repeat = set()
for num in nums:
if num == 0:
continue
if num in repeat:
return(False)
min_num = min(num, min_num)
max_num = max(num, max_num)
repeat.add(num)
return(max_num - min_num < 5)