给定两个数组,写一个函数来计算它们的交集。
注意 结果中的每个元素的出现次数应与其在两个数组中同时出现的次数一样多。
Example:
Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2, 2].
class Solution(object):
def intersect(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
ans = []
if len(nums1) > len(nums2):
nums1,nums2 = nums2,nums1
c = collections.Counter(nums1)
for x in nums2:
if c[x] > 0:
ans.append(x)
c[x] -= 1
return ans