【发布时间】:2022-09-13 00:01:19
【问题描述】:
下面的代码是一个遍历 for 循环的 java 方法,每次也创建一个新数组。我相信没有新数组实例化的代码是 O(N) 但有新数组声明,我不确定。
int[] reverseArray(int[] a) {
int[] result = new int[a.length];
for (int i = 0; i < a.length; i++) {
result[a.length - 1 - i] = a[i];
}
int[][] 2DArray = new int[a.length][a.length/2];
// do something with 2DArray
return result;
}
-
你所显示的只是
O(a.length) -
@TheCornInspector 这个问题没有具体说明它的作用,我不知道整个 sn-p 的 Big O 表示法是什么。
-
\"用 2D Array 做一些事情\"用 2D Array 做什么?到目前为止,您的代码是 O(n),我不知道您为什么觉得下半部分不相关
-
@TheCornInspector 那么 2DArray 如何影响代码的大 O 表示法。
-
@ksuk333 您之前没有指定您是在谈论时间复杂度还是空间复杂度。对于空间复杂度不,你对数组做什么并不重要。