from collections import defaultdict
classSolution:defintersect(self, nums1: List[int], nums2: List[int])-> List[int]:
dic = defaultdict(int)
res =[]for num in nums1:
dic[num]+=1for num in nums2:if dic[num]>0:
res.append(num)
dic[num]-=1return res
C++ Solution:
classSolution{public:
vector<int>intersect(vector<int>& nums1, vector<int>& nums2){
unordered_map<int,int> mymap;
vector<int> result;for(int i =0; i < nums1.size(); i++)
mymap[nums1[i]]++;for(int i =0; i < nums2.size(); i++)if(mymap[nums2[i]]>0){
result.push_back(nums2[i]);
mymap[nums2[i]]--;}return result;}};