五张牌,其中大小鬼代表任意数字,牌面大小为 0。判断这五张牌是否能组成顺子。
C++:
1 class Solution { 2 public: 3 bool IsContinuous( vector<int> numbers ) { 4 if (numbers.size() < 5) 5 return false ; 6 sort(numbers.begin() , numbers.end()) ; 7 int cnt = 0 ; 8 for(int num : numbers){ 9 if (num == 0){ 10 cnt++ ; 11 } 12 } 13 14 for(int i = cnt ; i < numbers.size() - 1 ; i++){ 15 if (numbers[i] == numbers[i+1]){ 16 return false ; 17 } 18 int t = numbers[i+1] - numbers[i] - 1 ; 19 cnt -= t ; 20 } 21 22 return cnt >= 0 ; 23 } 24 };