Henry-Diasa / awesome_interview_question

总结前端面试题,更贴近于实战,而非背诵的八股文。
11 stars 0 forks source link

两个数组的交集 #44

Open XZZ22 opened 1 year ago

XZZ22 commented 1 year ago
// 解题思路:先排序后再遍历数组
// 第二个数组的元素如果在第一个数组中存在,则删除存在数组中的值 继续遍历

/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number[]}
 */
let nums1 = [4,9,5], nums2 = [9,4,9,8,4]
var intersect = function(nums1, nums2) {
  nums1.sort((a, b) => a - b);
  nums2.sort((a, b) => a - b); // 先排序,使得重复的元素相邻出现
  const list = []
  nums1.forEach(v =>{
    if(nums2.indexOf(v) !== -1){
      list.push(v)
      nums2.splice(nums2.indexOf(v), 1)
    }
  })
  return list
};

intersect(nums1, nums2)
Henry-Diasa commented 1 year ago

image

用set更好的实现方式