小编Cra*_*on 的帖子

没有嵌套循环可能有二次时间复杂度吗?

它进展得很顺利.我以为自己的时间复杂了.我正在尝试编码,并使用以下算法来解决他们的一个问题.我知道这个问题有更好的解决方案(置换检查) - 但我根本不明白没有嵌套循环的东西如何具有O(N ^ 2)的时间复杂度.我的印象是Javascript中的关联数组就像哈希并且非常快,并且不会被实现为耗时的循环.

这是示例代码

function solution(A) {
    // write your code in JavaScript (Node.js)
    var dict = {};

    for (var i=1; i<A.length+1; i++) {
        dict[i] = 1;
    }

    for (var j=0; j<A.length; j++) {
        delete dict[A[j]];
    }

    var keyslength = Object.keys(dict).length;
    return keyslength === 0 ? 1 : 0;
}
Run Code Online (Sandbox Code Playgroud)

这是判决

结果

javascript complexity-theory time-complexity

1
推荐指数
1
解决办法
317
查看次数