1. 个数不对,不是5个数的就不是顺子,第一排除
2. 有重牌(不包含0)的不是顺子,排除
3. 在牌数对且没有重牌的情况下,
  无论有几个0,反正能凑成顺子的不过就是12345,23456,34567,45678,56789,678910,7891011,89101112,910111213这9中情况。遇到0不用管,反正是万能牌当几都可以,非0牌记下最大和最小,差值最多为4,超过4了,就算万能牌也弥补不了。

#include<stdbool.h>
bool IsContinuous(int* numbers, int numbersLen ) {
    if(numbersLen != 5)  //元素个数只能是5个,多了少了都不行
        return false;
    int d[14] = {0};  //新数组d[0]--d[13]存放牌面数字出现的次数,
    int max = -1, min = 14, i = 0;
    for(i = 0; i < numbersLen; i++){
        d[numbers[i]]++;  //对牌面数字出现次数计数
        if(numbers[i] == 0)  //牌面为0时,后面3个if不用管,不计数,不判断min和max
            continue;   //也就是转到i+1,注意min不可能变成0
        if(d[numbers[i]] > 1) //从1到13若某个牌面数字出现不止一次
            return false;   //说明有重牌,不是顺子
        if(numbers[i] < min)  //常规更新min
            min = numbers[i];
        if(numbers[i] > max)  //常规更新max
            max = numbers[i];
    }
    if(max - min < 5)  //正常顺子的最大值与最小值相差不超过4
        return true;
    return false;
}