我在做面试准备时遇到了这个问题。
public class Main {
public static void main(String[] args) {
// n is some user input value
int i = 0;
while (i < n) {
int[] a = new int[n];
for (int j = 0; j < n; j++){
a[j] = i * j;
}
i++;
}
}
}
给出的选择是:
上)
O(n^2)
据我所知,答案应该是 O(n),因为在每次迭代中都会创建一个新的数组实例,并且会丢失先前的引用。然而,书中提到的答案是 O(n^2)。
可能的解释是什么?
慕标琳琳
aluckdog
相关分类