1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
var intersect = function(nums1, nums2) { const [map1, map2, result] = [new Map(), new Map(), []];
for (const v of nums1) { map1.get(v) ? map1.set(v, map1.get(v) + 1) : map1.set(v, 1); } for (const v of nums2) { map2.get(v) ? map2.set(v, map2.get(v) + 1) : map2.set(v, 1); }
for (const [key, value] of map1) { const count = Math.min(value, map2.get(key) || 0);
for (let i = 0; i < count; i++) { result.push(key); } }
return result; };
|