题目:从扑克牌中随机抽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的个数即连续,否则,不连续。