Idea
使用两个哈希集合,其中一个用来存储第一个数组,第二个来存储两个数组的交集,因为集合自带去重功能,因此最后用数组来接收就好了
AC Code
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
unordered_set<int> s1,s2;
vector<int> ans;
for(int i : nums1) {
if(s1.find(i) == s1.end()) s1.insert(i);
}
for(int i : nums2) {
if(s1.find(i) != s1.end() && s2.find(i) == s2.end()) s2.insert(i);
}
for(int i : s2) ans.emplace_back(i);
return ans;
}
};