天天看點

【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;
    }
};
           

把題讀的複雜了,沒要求順序一樣,就元素一樣就行

記憶體有點大