写了这段代码,想得到更好的方法,使用任何算法从排序或未排序的数组中查找丢失的数字。如果它是一个未排序的数组,我将排序并执行以下命令。
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));
}
}
}任何比这更快或更好的代码,请建议。
发布于 2016-04-15 18:47:37
你的方法很好,但我添加了更多的东西,因为缺少了不止一个数字。
eg : ar={1,2,4,6,10} // Sorted Array
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) {
for (int ind = 1; ind < next - current; ind++)
System.out.println("Missing Value : " + (current + ind));
}
}
}输出结果是,
Missing Value : 3
Missing Value : 5
Missing Value : 7
Missing Value : 8
Missing Value : 9https://stackoverflow.com/questions/36644419
复制相似问题