#include <locale> class Solution { public: bool IsContinuous(vector<int>& numbers) { sort(numbers.begin(), numbers.end()); int zero_num = 0; for(int i = 0; i < 5; i++){//首先计算数组中零的个数,以及判断是否有非零对子 if(numbers[i] == 0) zero_num++; if(i != 0&& numbers[i] != 0 && numbers[i] == numbers[i -1]) return false; } for(int i = zero_num; i < 5; i++){ if(i != zero_num && numbers[i] != numbers[i - 1] + 1){//如果两者不相邻 if(zero_num == 0) return false; //但是此时零的数量已经用完,则返回false zero_num = zero_num - (numbers[i] - numbers[i - 1] - 1); //相当于少了这么对零的资源 if(zero_num < 0) return false; } } return true; } };