从上一次迭代开始的嵌套for循环的复杂性

时间:2016-12-01 11:17:00

标签: javascript arrays iteration time-complexity nested-loops

function solution(A) {
    var len = A.length;
    cnt = 0;
    for(i = 0; i < len - 1; i++){
        for (a = i + 1; a < len; a++){
            if (A[i] == A[a]){cnt++;}
            else{continue;}
        }
        if(cnt > 1000000000){return 1000000000;}
    }
    return cnt;
}

所以这是一个计算相同数组对的代码,我知道2 for循环给出时间复杂度为O(n 2 )。总是这样吗?即使下一次迭代仅通过数组的剩余部分?

1 个答案:

答案 0 :(得分:0)

是的,这将大致为O(1 / 2n ^ 2),但由于常数不是那么重要,因此最终会为O(n ^ 2)