public static void findNumber(int number) {
int[] soretedArray = { 1, 5, 6, 8, 9 };
for (int i = 0; i <= soretedArray.length; i++) {
for (int j = i + 1; j < soretedArray.length; j++) {
if (soretedArray[i] + soretedArray[j] == number) {
System.out.println(soretedArray[i] + "::" + soretedArray[j]);
return;
}
}
}
}
使用这段代码,我能够找到数字,但时间复杂度是O(N^2)。我需要使用O(N)的时间复杂度,即在Java中只使用一个for循环或哈希映射或类似的方法来完成。