欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

剑指Offer_编程题 | 扑克牌顺子

程序员文章站 2022-06-17 17:08:42
...

剑指Offer_编程题 | 扑克牌顺子

class Solution {
public:
    bool IsContinuous( vector<int> numbers ) {
        if (numbers.size() != 5)return false;

        sort(numbers.begin(), numbers.end());
        int numOfZero = 0;
        //统计0的个数
        for (int i = 0; i != 5; i++) {
            if (!numbers[i])
                numOfZero++;
        }

        int beg = numOfZero+1;
        int numOfGap = 0;
        while (beg < 5) {
            //如果出现了对子,那么肯定不可能是连子
            if (numbers[beg - 1] == numbers[beg])
                return false;

            numOfGap += numbers[beg] - numbers[beg - 1] -1;
            beg++;
        }

        return (numOfZero >= numOfGap) ? true : false;
    }
};

剑指Offer_编程题 | 扑克牌顺子