方法:哈希表
新建一个哈希表unordered_map<int,int>
先遍历第一个数组,将出现的元素的哈希表位置进行加一操作,再遍历第二个元素,如果存在于哈希表中,则进行减一操作,如果此处数字为0,则删除该位置的元素(通过迭代器删除)
class Solution {
public:
vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
unordered_map<int,int> array;
vector<int> result;
for(auto num:nums1)
array[num]++;
for(auto num:nums2)
{
if(array.find(num)!=array.end())
{
result.push_back(num);
array[num]--;
if(array[num]==0)
array.erase(array.find(num));
}
}
return result;
}
};