【发布时间】:2016-04-15 10:17:36
【问题描述】:
编写此代码,希望获得更好的方法,使用任何算法从已排序或未排序的数组中查找缺失的数字。如果它是一个未排序的数组,我将排序并执行以下操作。
private static void identifyMissingValues(Integer[] ar) {
for(int i = 0; i < (ar.length - 1); i++) {
int next = ar[i + 1];
int current = ar[i];
if((next - current) > 1) {
System.out.println("Missing Value : " + (current + 1));
}
}
}
任何比这更快或更好的代码,请提出建议。
【问题讨论】:
-
如果序列中只缺少一个数字,您可以将您拥有的所有 nubers 相加,将整个预期序列相加,然后从另一个和中减去一个和以获得缺少的数字
-
如果连续有两个或多个遗漏,只会打印第一个
标签: java arrays algorithm missing-data