#coding:utf-8
from sys import maxsize
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param numbers int整型一维数组
# @return bool布尔型
#
class Solution:
def IsContinuous(self , numbers):
##思路:大小王可以当任何牌,那么只要保证两种情况即可
#1、最大的牌 - 最小的牌在5以内
#2、各种大小的牌没有重复的(除了大小王)
##init
occ_set = set()
ret = True
max_val = 0
min_val = 100
##process
for i in range(0, len(numbers)):
cur_val = numbers[i]
#条件2:如果已经出现过了,那么就不能组成顺子
if cur_val in occ_set:
ret = False
break
if cur_val != 0:
max_val = max(max_val, cur_val)
min_val = min(min_val, cur_val)
occ_set.add(cur_val)
if max_val - min_val >= 5:
ret = False
return ret