61-扑克牌中的顺子

Posted kingshine007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的个数即连续,否则,不连续。

以上是关于61-扑克牌中的顺子的主要内容,如果未能解决你的问题,请参考以下文章

面试题61:扑克牌中的顺子

剑指 Offer 61. 扑克牌中的顺子

面试题61. 扑克牌中的顺子

面试题61. 扑克牌中的顺子

剑指offer61扑克牌中的顺子

算法剑指 Offer 61. 扑克牌中的顺子 重刷