class Solution {
public:
std::vector<int> intersection(std::vector<int>& nums1, std::vector<int>& nums2) {
std::unordered_set<int> res;
int hash[1005] = {0};
for (int i:nums1) hash[i]=1;
for (int i:nums2) if(hash[i]==1) res.insert(i);
// 等价于 std::vector<int> ress (res.begin(), res.end()); return ress;
return std::vector<int> (res.begin(), res.end());
}
};
class Solution {
public:
std::vector<int> intersection(std::vector<int>& nums1, std::vector<int>& nums2) {
// 把向量转化成无序集合
std::unordered_set num1set(nums1.begin(), nums1.end());
std::unordered_set<int> res;
// 错误if(nums1set.find(i)) find查找返回的是指针 不是布尔值
for (int i: nums2) if(num1set.find(i)!=num1set.end()) res.insert(i);
// 把无序集合转化成向量
return std::vector<int> (res.begin(), res.end());
}
};