题解 | #扑克牌顺子#
扑克牌顺子
http://www.nowcoder.com/practice/762836f4d43d43ca9deb273b3de8e1f4
先进行排序
如果numbers[i]-numbers[i-1]=1,说明不需要0插入
如果numbers[i]-numbers[i-1]=n>1,说明需要n个0进行插入才能形成顺子
如果numbers[i]-numbers[i-1]=0,说明不可能形成顺子
class Solution {
public:
bool IsContinuous( vector<int> numbers ) {
sort(numbers.begin(),numbers.end());
int cnt=0,i=0;
while(numbers[i]==0){ //计算0的个数
cnt++;
i++;
}
for(i=i+1;i<numbers.size();i++){
if(numbers[i]==numbers[i-1]) return false;
cnt-=(numbers[i]-numbers[i-1]-1);
}
return cnt>=0;
}
};