题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。
def is_continous(arrys):
cnt_0 = arrys.count(0)
res = sorted(arrys)
i,length = cnt_0,len(res)
cnt = 0
while i<length-1:
if res[i+1]-res[i]==0:
return False
if res[i+1]-res[i]>1:
cnt = cnt+res[i+1]-res[i]-1
i += 1
if cnt_0>=cnt:
return True
return False
注:1、统计数组中0的个数,即大小王的个数
2、对数组进行排序
3、遍历数组,统计数组非0部分的间隔和。如果遇到有相邻相同的即表示不能组成连续的数组,返回False
4、最后与0 的个数进行比较,如果小于等于0的个数即连续,否则,不连续。