剑指Offer_编程题 | 扑克牌顺子
程序员文章站
2022-06-17 17:08:42
...
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;
}
};
上一篇: 设计模式——状态模式