这个算法的时间复杂度是多少?

function removeDup(array) {
    var newArray = [];
        for(var i = 0; i < array.length;i++){
            if(newArray.indexOf(array[i]) == -1 ) {
                newArray.push(array[i]);
            }
        }
    return newArray;
}

循环内部有个indexOf,时间复杂度是在O(n)和O(n^2)之间吗?

阅读 4k
2 个回答

O(n^2)
实际运行时间复杂度是在O(n)和O(n^2)间,但描述时说其时间复杂度就是以最大值,即O(n^2)

数组去重,这个是一层for循环套了个判断 应该是在O(N)与o(n^2)之间

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题