Intersection of Two Arrays

這個思路比較簡單,想說下語法點。unordered_map是鍵值對,鍵hash,unordered_set就是一個hash集合,只是key的集合,方便快速查找的。同時set是紅黑樹,所以有兩個很好的特點,有序,沒有重複,而且O(logN)的效率也很高。這裏對nums1做了一個unordered_set,就用了沒重複的特性。

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_set<int> Find(nums1.begin(),nums1.end());
        vector<int> res;
        for(auto a:nums2)
        {
            if(Find.count(a))
            {
                res.push_back(a);
                Find.erase(a);
            }
        }
        return res;
    }
};


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章