61-扑克牌中的顺子

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

posted @ 2019-09-24 15:26  尘世中一个迷途小书童  阅读(225)  评论(0编辑  收藏  举报