算法-哈希表:两个数组的交集
计算两个数组的交集,交集里的元素都是唯一的。
#include <iostream>
#include <vector>
#include <unordered_set>
#include <algorithm>
using namespace std;
//元素唯一,可以考虑哈希表,只需要返回一类值,采用unordered_set就行
vector<int> intersection(vector<int> nums1,vector<int> nums2){
unordered_set<int> result;
unordered_set<int> nums1_set(nums1.begin(),nums1.end());
for(int num:nums2){
if(nums1_set.find(num) != nums1_set.end()){
result.insert(num);
}
}
return vector<int>(result.begin(),result.end());
}
int main() {
vector<int> nums1 = {1,2,3,4,3,6,2,1};
vector<int> nums2 = {3,3,1};
for(int i = 0; i < intersection(nums1, nums2).size(); i++){
cout << intersection(nums1, nums2)[i]<<" ";
}
cout<<endl;
return 0;
}