0
点赞
收藏
分享

微信扫一扫

349. 两个数组的交集(哈希表) (Leetcode刷题笔记)

微言记 2022-02-05 阅读 67

349. 两个数组的交集 (哈希表)(Leetcode刷题笔记)

https://lunan0320.cn

文章目录

题目

给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。

解题代码 C++(unordered_set)

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_set<int> set(nums2.begin(),nums2.end());
        unordered_set<int> res;
        for(int num : nums1){
            if(set.find(num) != set.end()){
                res.insert(num);
            }
        }
        return vector<int>(res.begin(),res.end());
    }
};

解题代码 C++(unordered_map)

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_map<int,int> hash_map;
        vector<int> res;
        for(int num : nums1) hash_map[num]++;
        for(int num : nums2) {
            if(hash_map[num] != 0){
                res.push_back(num);
                hash_map[num]=0;
            }
        }
        return res;
    }
};

算法效率

举报

相关推荐

0 条评论