[leetcode]350. Intersection of Two Arrays II
Analysis
雨很大~—— [ummm~]
Given two arrays, write a function to compute their intersection.
跟上一题一样都是找出两个数组的交集,但是这题可以输出重复的元素,也就是说如果2在第一个数组中出现了3次,在第二个数组中出现了4次,那么结果数组中有3个2,用map解决。
Implement
class Solution {
public:
vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
map<int, int> mymap;
for(int i=0; i<nums1.size(); i++)
mymap[nums1[i]]++;
vector<int> res;
for(int i=0; i<nums2.size(); i++){
if(mymap.find(nums2[i]) != mymap.end() && mymap[nums2[i]] != 0){
res.push_back(nums2[i]);
mymap[nums2[i]]--;
}
}
return res;
}
};