大\小王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。如果牌能组成顺子就输出true,否则就输出false。为了方便起见,你可以认为大小王是0。
不重复,且最大最小之差小于5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| class Solution { public: bool IsContinuous( vector<int> numbers ) { if (numbers.size() < 5) { return false; } else { array<int, 14> c = {0}; int min = 14, max = 0; for (const int n: numbers) { if (n > 0) { c[n]++; if (c[n] > 1) { return false; } else { if (n > max) { max = n; } if (n < min) { min = n; } } } } if (max - min < 5) { return true; } else { return false; } } } };
|