class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param numbers int整型vector
     * @return bool布尔型
     */
    bool IsContinuous(vector<int>& numbers) {
        // write code here
        sort(numbers.begin(), numbers.end());
        int jokers = 0;               // 0 的个数(大小王)
        int gaps   = 0;               // 非相邻之间的间隙总数
        // 统计 0
        int i = 0;
        while (i < 5 && numbers[i] == 0) ++jokers, ++i;
        // 在非 0 区间检查重复并累计间隙
        for (; i < 4; ++i) {
            if (numbers[i] == 0) continue;
            if (numbers[i] == numbers[i + 1]) return false;        // 有重复
            gaps += numbers[i + 1] - numbers[i] - 1;               // 间隙
        }
        return jokers >= gaps;         // 0 能填满所有间隙即可
    }
};