349. 两个数组的交集

349. 两个数组的交集

给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        vector<int> res;
        unordered_map<int,int> countmap1;
        unordered_map<int,int> countmap2;
        for(int i=0;i<nums1.size();i++){
            countmap1[nums1[i]]++;
        }
        for(int i=0;i<nums2.size();i++){
            countmap2[nums2[i]]++;
        }
        auto it=countmap2.begin();
        while(it!=countmap2.end()){
            if(countmap1.find(it->first)!=countmap1.end()){
                res.push_back(it->first);
            }
            it++;
        }
        return res;
    }
};

你可能感兴趣的:(算法,数据结构)