This question already has answers here:

How to find time complexity of an algorithm
(9个答案)
问题:哪种复杂性有我的作用?如何找到算法的时间复杂度?
函数检查给定的int数组是否已排序。
我的代码:
public static boolean isSorted(double d[]){
boolean sortedAscending = true;
boolean sortedDescending = true;

boolean bool = false;
for (int i = 0; i < d.length-1; i++) {
    if(d[i] > d[i+1] && sortedAscending){
        sortedAscending = false;
        if(bool){
            break;
        }
        bool = true;
    }
    else if(d[i] < d[i+1]&& sortedDescending){
        sortedDescending = false;
        if(bool){
            break;
        }
        bool = true;
    }
}
return sortedAscending || sortedDescending;
}

最佳答案

这只是一个在每次迭代中执行时间固定的单循环程序时间复杂度为线性-O(n),其中n为数组长度。

10-04 20:51