let a = [1, 1, 2, 3, 4]
let b = [1, 1, 2, 4, 6]
function maskMap(ns) {
let nMap = new Map()
for (let i = 0; i < ns.length; i++) {
let num = ns[i]
let count = nMap.get(num)
if (count) {
nMap.set(num, count + 1)
} else {
nMap.set(num, 1)
}
}
return nMap
}
let intersection = function(n1, n2) {
let res = []
let m1 = maskMap(n1)
let m2 = maskMap(n2)
for (let num of m1.keys()) {
const count1 = m1.get(num)
const count2 = m2.get(num)
if(count2) {
for(let i = 0; i < count2; i++) {
res.push(num)
}
}
}
return res
}
两个数组求交集
最新推荐文章于 2021-08-18 14:50:19 发布