我刚开始学习大O符号,做了一些思维题,想向大家确认我的思路是否正确。
在Javascript中,如果通过两个数组查找共同的元素,这是否被认为是O(n)时间复杂度的解决方案?或者该语言是否会在对象内执行查找并以与迭代数组相同的方式迭代对象中的n个元素?
function findCommon (input, input2){
var key = {};
var out = [];
for(var i=0; i<input.length; i++){
key[input[i]] = true;
}
for(var j=0; j<input2.length; j++){
if(key[input2[j]] == true){
out.push(input2[j]);
}
}
return out;
}
查找公共元素([1, 2, 4, 6, 7], [3, 4, 5, 7]) --> [4, 7]