思路
利用哈希数据结构:unordered_set,其特点在于:
对于本题只需要将其中一个数组遍历存入unordered_set 容器中,然后通过循环遍历另一个数组中的每个元素,并在unordered_set 容器中查找(find()函数)该元素是否存在,若存在,则在返回值中插入该元素,若不存在,则继续遍历。
代码
class Solution { public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { unordered_set<int>res; unordered_set<int>tmp1(nums1.begin(), nums1.end()); for(int tmp2 : nums2){ if(tmp1.find(tmp2) != tmp1.end()){ res.insert(tmp2); } } return vector<int>(res.begin(), res.end()); } };
相关题目
[350. 两个数组的交集 II]