思路:
- 找出其中的王的个数(可以匹配任何数字)
- 求出间隔数 =nums[right]-nums[left]-1;如果差一的话代表正好 不需要补充 ;4 5之间不需要王来填补;4 6 之间需要王来匹配5
代码:
class Solution {
public:
bool IsContinuous( vector<int> nums )
{
int n=nums.size();
if(n!=5)return false;
sort(nums.begin(),nums.end());
int numberofKing=0;//王的个数;
int numberofGap=0;//空闲的差数;
for(auto i:nums)
if(i==0)
numberofKing++;
int small=numberofKing;//从第numberofKing位之后开始查找间隔;
int big=small+1;
while(big<n)
{
if(nums[big]==nums[small])
return false;
numberofGap+=nums[big++]-nums[small++]-1;
}
if(numberofKing>=numberofGap)
return true;
return false;
}
};