java - 以下代码的时间复杂度是多少?
问题描述
import java.util.Arrays;
import java.util.Scanner;
class ReverseArray{
static int[] printReverse(int a[],int n){
Arrays.sort(a); // O(nLogn)
for(int j = 0 ; j < a.length ; j++){ // O(n)
System.out.println(a[j]+" ");
}
return a;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int a[] = new int[n];
for(int i = 0 ; i<n ; i++){
a[i] = sc.nextInt();
}
printReverse(a,n);
sc.close();
}
}
我试图自己练习这段代码并编写了这段代码,但我认为这不是反转数组的最佳代码。我刚刚开始我的编程之旅,所以我对时间复杂度只有一点了解。我只想知道这段代码的时间复杂度。这段代码的时间复杂度是 O(N log N)+O(n) 对吧?如果我错了,请纠正我。
解决方案
推荐阅读
- javascript - 复制对象的选定元素
- android - 如何将 Uber Driver API 集成到我的移动应用程序产品中
- javascript - this.props 没有传递函数
- python - 在 Mac 上的 shell 中导入模块
- python - 使用 python requests 模块登录沃尔玛帐户返回错误
- bluetooth-lowenergy - 适用于 Windows 10 企业版 LTSB(或 LTSC)的 Windows 10 创意者更新
- hibernate - 为什么 Hibernate 提供 @Embeddable 和 @Embedded
- excel - Excel Shell() Args 到/来自 Calc.exe
- oracle - expdp where 子句错误
- css - Chrome DevTools 中禁用了样式化组件样式