题解 | #扑克牌顺子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