[leetcode]350. Intersection of Two Arrays II

[leetcode]350. Intersection of Two Arrays II


Analysis

雨很大~—— [ummm~]

Given two arrays, write a function to compute their intersection.
跟上一题一样都是找出两个数组的交集,但是这题可以输出重复的元素,也就是说如果2在第一个数组中出现了3次,在第二个数组中出现了4次,那么结果数组中有3个2,用map解决。

Implement

class Solution {
public:
    vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
        map<int, int> mymap;
        for(int i=0; i<nums1.size(); i++)
            mymap[nums1[i]]++;
        vector<int> res;
        for(int i=0; i<nums2.size(); i++){
            if(mymap.find(nums2[i]) != mymap.end() && mymap[nums2[i]] != 0){
                res.push_back(nums2[i]);
                mymap[nums2[i]]--;
            }
        }
        return res;
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_32135877/article/details/80734488