通过字典的方式实现
- 时间复杂度:O (m + n)
空间复杂度:O (m + n)
function intersection(nums1, nums2) {const map = new Map();nums1.forEach((m) => {map.set(m, true);});const res = [];nums2.forEach((n) => {if (map.get(n)) {res.push(n);map.delete(n);}});return res;}
上方的代码有两层非嵌套的循环,所以时间复杂度是 O (m + n),开辟额外的空间有 map 和 res 长度受 m 和 n 影响,所以空间复杂度是O (m + n)。
