天天看点

【2019秋冬】【LeetCode】350 两个数组的交集II

class Solution {
public:
    vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
        
        int l1 = nums1.size();
        int l2 = nums2.size();
        if(l1 < l2) return intersect(nums2,nums1);
        vector<int> ans;
        unordered_map<int,int> ti;      
        for(int i=0; i<nums1.size(); i++){
            ti[nums1[i]]++;
        }
        for(int i=0; i<nums2.size(); i++){
            if(ti[nums2[i]]>0){
                ans.push_back(nums2[i]);
                ti[nums2[i]]--;
            }
        }        
        return ans;
    }
};
           

把题读的复杂了,没要求顺序一样,就元素一样就行

内存有点大