问题
思路
朴素的思路就是让一个数组的元素去枚举另外一个数组的元素,如果存在。则是交集元素。但是要注意的是可能存在元素重复的情形。比如A = [1,1], B = [1]。
代码
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
std::set<int> s;
std::set<int> ret;
int sz1 = nums1.size();
int sz2 = nums2.size();
for( int i = 0; i < sz1; ++i ){
s.insert(nums1[i]);
}
for( int i = 0; i < sz2; ++i ){
if( s.find(nums2[i]) != s.end() )
ret.insert(nums2[i]);
}
return std::vector<int>(ret.begin(), ret.end());
}
};