有一个数组相关的问题,要求时间复杂度为O(n),空间复杂度为O(1)。
如果我使用Arrays.sort(arr)
, 并使用一个for
循环到一个循环循环,例如:
public static int hello(int[]A){
Arrays.sort(A);
for(int i=0;i<A.length;i++){
....................
}
return ....;
}
所以循环将花费 O(n) 时间。我的问题是:会Arrays.sort()
花费更多时间吗?如果我使用Arrays.sort()
,这个时间复杂度仍然是 O(n) 吗?并且会Arrays.sort()
花费更多空间吗?