先对数据排序,然后遍历,排序过程做两件事
判断条件最大值或者最小值之间需要填坑个数不大于3则正确
代码:
public boolean IsContinuous_2(int [] numbers) {
Arrays.sort(numbers);
int k = 0;
for (int i = 0; i < numbers.length - 1; i++) {
if (numbers[i] == 0) {
k++;
} else if (numbers[i] == numbers[i + 1]) {
return false;
}
}
return numbers[4] - numbers[k] <= 4;
}