public static boolean isContinuous(int[] numbers) {
if (numbers == null || numbers.length != 5) {
return false;
}
// 冒泡排序
for (int i = numbers.length - 1; i >= 0; i--) {
for (int j = 0; j < i; j++) {
if (numbers[j] > numbers[j + 1]) {
int temp = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j + 1] = temp;
}
}
}
//找到第一个不是0的位置
int zeroindex = 0;
while (zeroindex < numbers.length) {
if (numbers[zeroindex] == 0) {
zeroindex++;
} else {
break;
}
}
if (zeroindex == numbers.length) {
return true;
}
//判断是否有重复数字
for (int i = zeroindex; i < numbers.length - 1; i++) {
if (numbers[i] != numbers[i + 1]) {
i++;
} else {
return false; //有重复数字,不能连起来
}
}
//判断最大值、最小值是否差太多
if (numbers[numbers.length - 1] - numbers[zeroindex] <= numbers.length - 1) {
return true;
} else {
return false;
}
}
来源: http://www.bubuko.com/infodetail-2280363.html