以下为ChatGPT自动生成的解答,正确与否请自行判断。 也许你也可以从大家的发帖中找到想要的答案!

BFE.devAI解答 - JavaScript 代码题
167. 未排序数列的交集

解答:

可以使用哈希表来解决这个问题,遍历第一个数组,使用哈希表记录其中的每个元素,然后再遍历第二个数组,如果发现某个元素在哈希表中已存在,那么就说明这个元素是它们的共同存在的元素。时间复杂度为 O(n),空间复杂度为 O(n)。

JavaScript 代码如下:

function intersection(arr1, arr2) {  const hash = new Set(arr1);  const result = [];  for (const num of arr2) {    if (hash.has(num)) {      result.push(num);      hash.delete(num); // 防止重复记录    }  }  return result;}

其中 Set 可以当做哈希表使用, has 方法用于判断元素是否存在, delete 方法用于删除元素。

时间复杂度:O(m+n) 空间复杂度:O(m),其中 m 为第一个数组中不重复的元素个数。