题解 | #扑克牌顺子python#

扑克牌顺子

http://www.nowcoder.com/practice/762836f4d43d43ca9deb273b3de8e1f4

先排序,然后保存0的万能数的数量,然后看非0部分,如果有相同的,那五个数里面一定不可能有连续递增数列即顺子,没有相同的数,那就看,前后数的差值-1的和,比如3,5中间就需要一个万能数0去填充,通过上述的算法就可以求出来需要多少个万能数,如果这个和小于等于0的数量,则是真,因为缺了这部分的数字可以用万能0去替换,否则一定不存在连续递增数列即顺子

# -*- coding:utf-8 -*-
class Solution:
    def IsContinuous(self, numbers):
        # write code here
        numbers.sort()
        zero = numbers.count(0)
        save = numbers[zero:]
        t = 0
        for i in range(0,len(save)-1):
            if(save[i] == save[i+1]):
                return False
            else:
                t = t + save[i+1] - save[i]-1
        if(t <= zero):
            return True
        else:
            return False
全部评论

相关推荐

尊嘟假嘟点击就送:加v细说,问题很大
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务