题解 | #扑克牌顺子#
扑克牌顺子
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; } };