【leetcode】349. Intersection of Two Arrays

題目:
Given two arrays, write a function to compute their intersection.


思路:
利用unordered_map<int, bool> my_map保存nums1所有元素,然後遍歷nums2。如果某個元素已經遍歷過了,則將其在my_map中的值置爲true。


代碼實現:

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_map<int, bool> my_map;
        
        for (int i = 0; i < nums1.size(); ++i){
            my_map[nums1[i]] = false;
        }
        
        vector<int> ans;
        for (int i = 0; i < nums2.size(); ++i){
            if (my_map.find(nums2[i]) != my_map.end()){
                if (my_map[nums2[i]] == false){
                    ans.push_back(nums2[i]);
                    my_map[nums2[i]] = true;
                }
            }
        }
        
        return ans;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章