首页 > 解决方案 > 以下代码的时间复杂度是多少?

问题描述

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) 对吧?如果我错了,请纠正我。

标签: java

解决方案


推荐阅读