如果我们在数组的 some 函数中使用 include 函数,时间复杂度是多少
What will be Time Complexity if we use include function inside the some function of array
我们知道 Array.prototype.some() 和 Array.prototype.includes() 的时间复杂度为 o(n)。现在我想知道如果我在某些方法中使用 include 会怎样。时间复杂度是线性的还是二次的?
function checkDublicate (arr1, arr2) {
return arr1.some(item => arr2.includes(item));
}
是O(mn),其中m是arr1.length
和n 是 arr2.length
.
考虑到最坏的情况,如果 arr2
没有来自 arr1
的项目,所有 n
元素将在 arr2
中搜索,每次搜索有 O(n)
复杂性。总体复杂度为 O(n^2)
(假设任一数组中有 n
个元素)。
我们知道 Array.prototype.some() 和 Array.prototype.includes() 的时间复杂度为 o(n)。现在我想知道如果我在某些方法中使用 include 会怎样。时间复杂度是线性的还是二次的?
function checkDublicate (arr1, arr2) {
return arr1.some(item => arr2.includes(item));
}
是O(mn),其中m是arr1.length
和n 是 arr2.length
.
考虑到最坏的情况,如果 arr2
没有来自 arr1
的项目,所有 n
元素将在 arr2
中搜索,每次搜索有 O(n)
复杂性。总体复杂度为 O(n^2)
(假设任一数组中有 n
个元素)。