자라는 개발자/문제풀이

leetcode 350. Intersection of Two Arrays II

자란다 2022. 11. 13. 17:47
728x90
반응형

풀이 1

// 15:01 ~ 
class Solution {
public:
    vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
        vector<int> res;
        map<int,int> m1,m2;
        for(auto iter: nums1)
           m1[iter]++;
        for(auto iter: nums2)
           m2[iter]++;
        for (auto it = m1.begin(); it != m1.end(); it++) {
            if(m2[it->first])
            {
                int tmp = min((it->second),(m2[it->first]));
                for(int i=0;i<tmp;i++)
                    res.push_back(it->first);
            } 
        }
        return res;
    }
};

풀이 2

// 15:01 ~ 
class Solution {
public:
    vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
        vector<int> res;
        for(int i=0;i<nums1.size();i++)
        {
            for(int j=0;j<nums2.size();j++)
            {
                if(nums1[i]== nums2[j])
                {
                    res.push_back(nums2[j]);
                    nums2[j] =-1;
                    break;
                }
            }
        }
        return res;
    }
};
728x90
반응형