力扣-349. 两个数组的交集

server/2024/9/25 23:22:29/

文章目录

    • 力扣题目
    • 代码
      • C++实现(set容器)
      • C++实现(map容器)

力扣题目

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

代码

思路分析:两种实现方式原理是一样的都是运行set容器或map容器插入的值唯一的特性。使用set容器实现起来更加简洁。

C++实现(set容器)

class Solution 
{
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {set<int>s(nums1.begin(), nums1.end());/*拷贝构造*/set<int>sTemp;/*存储交集元素*/for(int i = 0; i < nums2.size(); i++){set<int>::iterator pos = s.find(nums2[i]);if(pos != s.end())/*交集的元素*/{sTemp.insert(*pos);}}return vector<int>(sTemp.begin(), sTemp.end());}
};

C++实现(map容器)

class Solution 
{
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {vector<int>arr;/*存储交集的元素*/map<int, int>m1;map<int, int>temp;for(int i = 0; i < nums1.size(); i++){m1.insert(make_pair(nums1[i], i));}for(int i = 0; i < nums2.size(); i++){map<int, int>::iterator pos = m1.find(nums2[i]);if(pos != m1.end())/*交集的元素*/{temp.insert(make_pair(pos->first, pos->second));}}for(map<int, int>::iterator it = temp.begin(); it != temp.end(); it++){arr.push_back(it->first);}return arr;}
};

http://www.ppmy.cn/server/22235.html

相关文章

网络安全的防护措施有哪些?

1. 安全策略和合规性 2. 物理和网络安全 3. 数据加密 4. 软件和系统更新 5. 访问控制 6. 威胁监测和响应 7. 员工培训和安全意识 8. 备份和灾难恢复 零基础入门学习路线 视频配套资料&国内外网安书籍、文档 网络安全面试题 网络安全的防护措施多种多样&#xff0c…

沉浸式翻译 chrome 插件 Immersive Translate - Translate Website PDF

免费翻译网站&#xff0c;翻译PDF和Epub电子书&#xff0c;双语翻译视频字幕 &#x1f4e3; 网络上口碑爆炸的网站翻译扩展工具【沉浸式翻译】⭐⭐⭐⭐⭐ &#x1f4bb; 功能特点如下&#xff1a; &#x1f4f0; 网站翻译 &#x1f680; 提供双语网站翻译&#xff0c;智能识…

【AIGC调研系列】Sora级别的国产视频大模型-Vidu

Vidu能够达到Sora级别的标准。Vidu被多个来源认为是国内首个Sora级别的视频大模型[2][3][4]。它采用了团队原创的Diffusion与Transformer融合的架构U-ViT&#xff0c;能够生成长达16秒、分辨率高达1080P的高清视频内容[1][6]。此外&#xff0c;Vidu的一致性、运动幅度都达到了S…

【IDEA】设置Maven路径 当前项目 全部项目

IDEA设置Maven路径 1. 当前项目有效&#xff08;每次都要设置Maven路径&#xff09;2. 全部项目有效&#xff08;一次设置永久解决&#xff09; 1. 当前项目有效&#xff08;每次都要设置Maven路径&#xff09; 将Maven home path、User settings file、Local repository设置为…

Unity 递归实现数字不重复的排列组合

实现 private void Permutation(List<int> num, int leftIndex, List<string> strs) {if (leftIndex < num.Count){for (int rightIndex leftIndex; rightIndex < num.Count; rightIndex){Swap(num, leftIndex, rightIndex);Permutation(num, leftIndex 1…

ssm079基于SSM框架云趣科技客户管理系统+jsp

客户管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本客户管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处…

Pytorch中保存模型的两种方法

目录 一、保存整个模型二、只保存模型参数 一、保存整个模型 这种方法会保存模型的整个定义&#xff08;包括网络结构和参数&#xff09;。这样保存的模型可以直接被加载并使用&#xff0c;但前提是保存和加载模型的代码环境需要完全一致。 保存模型时使用代码&#xff1a; …

大数据005-hadoop003-了解MR及Java的简单实现

了解MapReduce MapReduce过程分为两个阶段&#xff1a;map阶段、reduce阶段。每个阶段搜键-值对作为输入和输出。 要执行一个MR任务&#xff0c;需要完成map、reduce函数的代码开发。 Hellow World 【Hadoop权威指南】中的以分析气象数据为例&#xff0c;找到每年的最高气温。…