题解 | #扑克牌顺子#
扑克牌顺子
https://www.nowcoder.com/practice/762836f4d43d43ca9deb273b3de8e1f4
class Solution {
public:
bool IsContinuous(vector<int>& numbers) {
sort(numbers.begin(),numbers.end());
//先看有几个0
int count0 = 0;
for (int i = 0; i < 4; i++)
{
if (numbers[i] == 0)
{
count0++;
}else
{
break;
}
}
//从非0开始判断是否连续,不连续的地方拿0来补
vector<int> vt_order(5,-1);
int index = count0;
vt_order[0] = numbers[index];
index++;
for (int i = 1; i < 5; i++)
{
if (index < 5 && numbers[index] == vt_order[i - 1] + 1)
{
vt_order[i] = numbers[index];
index++;
}else
{
if (count0 > 0)
{
vt_order[i] = vt_order[i - 1] + 1;
count0--;
}else
{
return false;
}
}
}
return true;
}
};

