LeetCode 349. 两个数组的交集 (C++实现)

1. 题目描述

给定两个数组 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] 也是可通过的

2. 解题思路

首先定义一个用来记录元素有无的数组record,还有记录重复元素的集合ans,然后遍历nums1,记录nums1中的元素,然后遍历nums2,如果num2的元素在nums1中出现过,则压入ans,最后返回ans

3. 代码实现

cpp 复制代码
class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_set<int> ans;
        vector<int> record(1001,0);
        for (int i = 0; i< nums1.size(); i++)
        {
            record[nums1[i]]++;
        }
        for (int i = 0; i< nums2.size(); i++)
        {
            if(record[nums2[i]] != 0)
            {
                ans.insert(nums2[i]);
            }
        }
        return vector<int>(ans.begin(),ans.end());
    }
};
相关推荐
Coovally AI模型快速验证23 分钟前
【YOLO算法改进】ALSS-YOLO:无人机热红外图像|野生动物小目标检测
人工智能·算法·yolo·目标检测·机器学习·目标跟踪·无人机
yonuyeung26 分钟前
代码随想录算法【Day7】
算法·leetcode·哈希算法
湫ccc1 小时前
《机器学习》KNN算法实现手写数字识别
人工智能·算法·机器学习
蚰蜒螟1 小时前
mysql8 从C++源码角度看 客户端发送的sql信息 mysql服务端从网络读取到buff缓存中
网络·c++·sql
老大白菜2 小时前
python 选择排序(Selection Sort)
python·算法·排序算法
酒鬼猿2 小时前
基础算法--滑动窗口
算法
叶子2024222 小时前
labelme下载
java·jvm·算法
计算机萍萍学姐3 小时前
ArrayList和LinkedList的区别是什么?
java·数据结构·算法
jf加菲猫3 小时前
条款35:考虑虚函数以外的其它选择(Consider alternatives to virtual functions)
开发语言·c++