可以使用 Set 数据结构来计算两个数组的交集,具体步骤如下:
- 将一个数组转换成 Set 对象。
- 遍历另一个数组中的每个元素,判断该元素是否在 Set 中存在,如果存在,则将该元素加入结果数组。
- 循环结束后,返回结果数组。
下面是使用 JavaScript 实现的代码:
function intersection(arr1, arr2) {
const set = new Set(arr1);
const result = [];
for (let i = 0; i < arr2.length; i++) {
if (set.has(arr2[i])) {
result.push(arr2[i]);
}
}
return result;
}
这个方法的时间复杂度为 O(n),其中 n 是两个数组中较小的那个的长度。由于 Set 对象可以自动去重,因此这种方法可以处理重复元素的情况。