這是亞馬遜的面試問題我有我的回答是查找兩個數組的交集在Javascript
function intersection (A , B)
{
var C = [];
for (var a in A) if (B.indexOf(a) != -1) C.push(a);
return C;
}
,他問什麼複雜的順序是和我說,我引用準確,
O(m * n個),其中m =則爲a.length和n = b.length個
和他說有一個更好的方式來做到這一點,我很喜歡跆拳道?????? ?他說,使用A
和B
爲對象,我很喜歡
「但是你說這些都是陣列那是你的問題!!!!」
有人可以幫我一下嗎?
我不知道如何'作爲使用對象的幫助,但是如果你在開始之前從'B'開始查找表(字典),那麼你可以在O(n)中完成。 – Lee
如果您在另一個JavaScript訪問中,請勿使用'for ... in'來遍歷數組。 – Pointy
btw在這個問題上有很多問題,例如:http://stackoverflow.com/questions/1885557/simplest-code-for-array-intersection-in-javascript – Lee