思路:
1.使用一個map數組來保存nums1中出現的元素及其次數.
2.遍歷nums2.使用map的has方法來檢測nums2中的元素是否出現在map中,若出現則加入返回數組(retArr),且map數組中的次數減1
/*** @param {number[]} nums1* @param {number[]} nums2* @return {number[]}*/
var intersect = function(nums1, nums2) {const retArr = [];const map = new Map();nums1.forEach((item)=>{if(map.has(item)){map.set(item,map.get(item)+1)}else{map.set(item,1)}})nums2.forEach((item)=>{if(map.has(item) && map.get(item) > 0){retArr.push(item);map.set(item,map.get(item)-1);}})return retArr;
};