根据key与value映射的表单
题型一:

两个数组的交集 II

思路:建立一个哈希表,遍历第一个数组放入key为出现过的数据,value即为出现过的次数。然后遍历另一个数组每出现哈希表存在的数据就把它放入作为结果的数组中,然后在哈希表中减一。

  1. var intersect = function(nums1, nums2) {
  2. let data={};
  3. let result=[];
  4. nums1.forEach((e)=>{
  5. if(data[e]){
  6. data[e]++;
  7. }
  8. else data[e] = 1;
  9. });
  10. nums2.forEach((e)=>{
  11. if(data[e]){
  12. data[e]--;
  13. result.push(e);
  14. }
  15. })
  16. return result;
  17. };