题意
求集合nums1和nums2的交集
题解
使用C++ STL的unordered_set来存储nums1,对nums2的每一个元素,判断nums1中是否存在,存在就放入返回结果集res中,并从nums1删除该元素。
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
unordered_set<int> numset(nums1.begin(), nums1.end());
vector<int> res;
for (auto i : nums2)
//m中对i计数,有一个就放入res,并从numset中删除
if (numset.count(i)) {
//数组最后添加a
res.push_back(i);
//m中删除元素a
numset.erase(i);
}
return res;
}
};