解题思路:
- 此题是 Leetcode#349. 两个数组的交集的升级版
- 要求输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致
- 使用一个dict存储nums1中每个元素出现的次数,遍历nums2中的元素,若其在dict中且value大于0,便将其加入返回结果
python实现如下:
class Solution:
def intersect(self, nums1, nums2):
res = []
dic = {}
for item in nums1:
if item not in dic:
dic[item] = 1
else:
dic[item] += 1
for item in nums2:
if item in dic and dic[item] > 0:
res.append(item)
dic[item] -= 1
return res