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());
    }
};
相关推荐
ysa051030几秒前
【板子】树上启发式合并
数据结构·c++·笔记·算法
Simple_core15 分钟前
cmake模板和问题总结
c++
学究天人19 分钟前
数学公理体系大全:第一章 命题逻辑:真值之舞
人工智能·算法·机器学习·数学建模·动态规划·图论·抽象代数
小O的算法实验室20 分钟前
2025年Neurocomputing,基于LLM的进化优化器:结合精英策略推理
算法
2301_800256111 小时前
数据结构基础期末复习例题
数据结构·算法
劉宇雁2 小时前
C++ ASCII 3D无尽跑酷游戏
c++·游戏·3d
变量未定义~2 小时前
单调栈-四元组问题
数据结构·算法
冷小鱼2 小时前
AI Agent 核心算法:任务规划(Planning)的深度技术解析
人工智能·算法·planning
杜子不疼.2 小时前
【C++ 在线五子棋对战】- 会话管理模块实现
开发语言·c++
退休倒计时2 小时前
【每日一题】LeetCode 78. 子集 TypeScript
算法·leetcode·typescript