new Set(arr1) 的最大亮点是什么?
What is the Big Oh of new Set(arr1)?
我在做一道小题在两个数组中寻找共同元素
function isCommonElementsPresent2(arr1,arr2){
let set = new Set();
for(let i=0;i<arr1.length;i++){
set.add(arr1[i]);
}
for(let i=0;i<arr2.length;i++){
if(set.has(arr2[i])){
console.log(arr2[i]);
}
}
} //Big Oh of this is O(N+M)
现在如果我解决下面同样的问题
Big-Oh 会变成什么样子?它会一样还是会改变?什么是let set = new Set(arr1);
的Big-Oh
function isCommonElementsPresent2(arr1,arr2){
let set = new Set(arr1);
for(let i=0;i<arr2.length;i++){
if(set.has(arr2[i])){
console.log(arr2[i]);
}
}
}
isCommonElementsPresent2(["a","b","y","e","f"],["z","y","f"]);
//What is the Big-Oh of this code block?
有人可以指导我吗?
计算复杂度是一样的。在这两种情况下,arr1
的每个元素都需要迭代才能放入集合中。
let set = new Set();
for(let i=0;i<arr1.length;i++){
set.add(arr1[i]);
}
和
一样贵
let set = new Set(arr1);
我在做一道小题在两个数组中寻找共同元素
function isCommonElementsPresent2(arr1,arr2){
let set = new Set();
for(let i=0;i<arr1.length;i++){
set.add(arr1[i]);
}
for(let i=0;i<arr2.length;i++){
if(set.has(arr2[i])){
console.log(arr2[i]);
}
}
} //Big Oh of this is O(N+M)
现在如果我解决下面同样的问题
Big-Oh 会变成什么样子?它会一样还是会改变?什么是let set = new Set(arr1);
function isCommonElementsPresent2(arr1,arr2){
let set = new Set(arr1);
for(let i=0;i<arr2.length;i++){
if(set.has(arr2[i])){
console.log(arr2[i]);
}
}
}
isCommonElementsPresent2(["a","b","y","e","f"],["z","y","f"]);
//What is the Big-Oh of this code block?
有人可以指导我吗?
计算复杂度是一样的。在这两种情况下,arr1
的每个元素都需要迭代才能放入集合中。
let set = new Set();
for(let i=0;i<arr1.length;i++){
set.add(arr1[i]);
}
和
一样贵let set = new Set(arr1);