美文网首页前端100问
【前端100问】Q59:给定两个数组,写一个方法来计算它们的交集

【前端100问】Q59:给定两个数组,写一个方法来计算它们的交集

作者: alanwhy | 来源:发表于2021-01-24 21:18 被阅读0次

    写在前面

    此系列来源于开源项目:前端 100 问:能搞懂 80%的请把简历给我
    为了备战 2021 春招
    每天一题,督促自己
    从多方面多角度总结答案,丰富知识
    给定两个数组,写一个方法来计算它们的交集。
    简书整合地址:前端 100 问

    正文回答

    哈希表,时间复杂度 O(m + n) m 为 nums1 长度,n 为 nums2 长度

    const intersect = (nums1, nums2) => {
      const map = {};
      const res = [];
      for (let n of nums1) {
        if (map[n]) {
          map[n]++;
        } else {
          map[n] = 1;
        }
      }
      for (let n of nums2) {
        if (map[n] > 0) {
          res.push(n);
          map[n]--;
        }
      }
      return res;
    };
    

    相关文章

      网友评论

        本文标题:【前端100问】Q59:给定两个数组,写一个方法来计算它们的交集

        本文链接:https://www.haomeiwen.com/subject/dvlvzktx.html