两个数组的交集

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

 

示例 1:

输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]
示例 2:

输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
解释:[4,9] 也是可通过的
 

想法1:

复制代码
class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_set<int>nums11(nums1.begin(),nums1.end());
        unordered_set<int>res;
        for (int num : nums2) {//这个是从nums2里轮番拿出其中的元素给num
            if (nums11.find(num) != nums11.end()) {
                res.insert(num);
            }
        }
        return vector<int>(res.begin(),res.end());
    }
};
复制代码

 

posted @ 2022-09-07 15:09  铜锣湾陈昊男  阅读(2)  评论(0)    收藏  举报
编辑推荐:
· 于是转身独立开发者
· C#.Net筑基-泛型T & 协变逆变
· dotnet 代码调试方法
· DbContext是如何识别出实体集合的
· 一次 .NET 性能优化之旅:将 GC 压力降低 99%
阅读排行:
· 免费开源 .NET OpenCV 迷你运行时全平台发布
· 10亿订单如何分库分表?
· 一个static关键字引发的线上故障:深度剖析静态变量与配置热更新的陷阱
· 做stm32嵌入式的上限是做什么?薪资天花板是多少?
· C# 的深度强化学习框架RL_Matrix
点击右上角即可分享
微信分享提示