题目描述

https://leetcode-cn.com/problems/intersection-of-two-arrays/

解题思路

  • 两个数组先Set去重
  • 取其中一个Set转为数组,用filter方法

代码实现

  1. /**
  2. * @param {number[]} nums1
  3. * @param {number[]} nums2
  4. * @return {number[]}
  5. */
  6. var intersection = function (nums1, nums2) {
  7. return [...new Set(nums1)].filter(item => nums2.includes(item))
  8. }

使用filter循环,同时includes方法内部也是循环其时间复杂度是O(n),由于filter里执行includes方法,所以上述代码的时间复杂度是O(n^2),更准确的说是O(m*n)
代码中新建了一个数组,故空间复杂度是O(n)