第七十六天:力扣350题,两个数组的交集 II
地址:leetcode-cn.com/problems/in…
思路:map加哈希查询
var intersect = function(nums1, nums2) {
let map = new Map();
let res = [];
for(let i of nums1)
{
map.has(i) ? map.set(i, map.get(i) + 1) : map.set(i, 1);
}
for(let i of nums2)
{
if(map.has(i) && map.get(i) > 0)
{
res.push(i);
map.set(i, map.get(i) - 1);
}
}
return res;
};
执行用时:108 ms, 在所有 JavaScript 提交中击败了12.52%的用户
内存消耗:39.9 MB, 在所有 JavaScript 提交中击败了15.80%的用户
后来想想,干嘛用map
var intersect = function(nums1, nums2) {
let res = [];
for(let i of nums2)
{
if(nums1.indexOf(i) !== -1)
{
res.push(i);
nums1.splice(nums1.indexOf(i), 1);
}
}
return res;
};
执行用时:92 ms, 在所有 JavaScript 提交中击败了49.63%的用户
内存消耗:39.5 MB, 在所有 JavaScript 提交中击败了39.40%的用户