思路: 先count一下numbers中0的个数。

情况一 没有大小王:
如果没有0的话,找出最小值mini,因为顺子是差值为一的等差数列,判断sum(array)是否等于mini*5 + 10 ,如果是的话,返回True,反之返回False

情况二 有大小王:
先判断除了0之外,numbers中最大值max-最小值min是否大于4,如果大于4,直接返回False
否则,判断set(numbers)的长度是否等于 6-count(0),不等的话证明除了0之外的其他数有重复,有重复直接返回False,否则返回True

# -*- coding:utf-8 -*-
class Solution:
    def IsContinuous(self, numbers):
        # write code here
        if not numbers:
            return False
        ghost_count = numbers.count(0)
        if ghost_count:
            numbers.sort()
            mini = numbers[ghost_count]
            if (max(numbers)-mini)>4:
                return False
            if len(set(numbers))!= (6-ghost_count):
                return False
            return True
        else:
            if len(set(a)) < len(numbers):
                return False
            mini = min(numbers)
            if sum(numbers) == mini*5 +10:
                return True
            return False