350. 两个数组的交集 II

2020-07-07  本文已影响0人  来到了没有知识的荒原

350. 两个数组的交集 II

hash table

class Solution {
public:
    vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
        if(nums1.size()>nums2.size()) return intersect(nums2,nums1);
        
        unordered_map<int,int>mp;
        for(auto i:nums1)mp[i]++;
        
        int k=0;
        for(auto &i:nums2){
            if(mp.find(i)!=mp.end()){
                if(mp[i]>0){
                    nums1[k++]=i;
                    mp[i]--;
                }
            }
        }
        
        return vector(nums1.begin(),nums1.begin()+k);
    }
};
上一篇下一篇

猜你喜欢

热点阅读