Leetcode 350两个数组的交集II

题目要求:

给定两个数组,写一个方法来计算它们的交集。

例如:

给定 nums1 = [1, 2, 2, 1]nums2 = [2, 2], 返回 [2, 2].

分析:查找问题过程中,需要关注查找对应关系的时候,也就是问x出现了几次。用map容器。同样也有insert,find,erase,change函数,用此容器我们可以解决此问题。

代码:

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

猜你喜欢

转载自blog.csdn.net/qq_34691713/article/details/80272891