從撲克牌中隨機抽5張牌,判斷是不是一個順子,即這5張牌是不是連續的。
2~10爲數字本身,A爲1,J爲11,Q爲12,K爲13,大小王可以看做任意數字。
爲了方便,大小王均以0來表示,並且假設這副牌中大小王均有兩張。
樣例1
輸入:[8,9,10,11,12]
輸出:true
樣例2
輸入:[0,8,9,11,12]
輸出:true
class Solution {
public:
bool isContinuous( vector<int> numbers ) {
int n = numbers.size();
if(n == 0) return false;
sort(numbers.begin(),numbers.end());
int zero = 0;
for(int i = 0;i < n;i++) {
if(numbers[i] == 0) {
zero++;
continue;
}
if(i >= 1 && numbers[i - 1] != 0){
int num = numbers[i] - numbers[i - 1];
if(num == 1) continue;
else if(num > 1 && zero >= num - 1) {
zero -= num - 1;
}
else return false;
}
}
return true;
}
};