import java.util.Arrays;
/**
核心就是先排序,然后计算相邻两个数之间的空缺
**/
public class Solution {
public boolean IsContinuous(int [] numbers) {
if(numbers.length <= 0 ){
return false;
}
//1-先排序
Arrays.sort(numbers);
int count = 0;//有多少个0
int diff = 0;//前后两个数字之间差距的合
for(int i = 0; i < numbers.length -1 ; i++){
if (numbers[i] == 0){
count++;
continue;
}
//排序后重复的数字直接为false
if (numbers[i] == numbers[i+1]){
return false;
}else{
//,只有是王的时候才计算差值,连续的数字是没有空缺的,所以要减1为0
diff += (numbers[i+1] - numbers[i] - 1);
}
}
//如果0的个数>=空缺个数,则返回true
if(count >= diff){
return true;
}
return false;
}
}