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

两个数组的交集

  • 题目
  • 思路
  • C++代码

题目

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

思路

首先当需要在集合里面判断一个元素是否出现过,优先考虑哈希表。这里我们使用unordered_set,因为不需要排序且要去重。
我们定义两个unordered_set,一个用于装入num1的数据,另外一个用于保存交集。然后通过遍历nun2的数据在第一个unordered_set中找出现过的数据,如果没有找到nums.find(num) 返回的是迭代器nums.end(),找到就直接存储起来。
最后返回的是一个数组,所以使用vector转换一下。

C++代码

class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {unordered_set<int> res;//用于存放交集unordered_set<int> nums(nums1.begin(), nums1.end());//放入num1数组的值并去重for(int num : nums2){//如果存在交集,则放入res中if(nums.find(num) != nums.end()) res.insert(num);}//结果要返回数组return vector<int>(res.begin(), res.end());}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/30706.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI推介-大语言模型LLMs论文速览(arXiv方向):2024.06.05-2024.06.10

文章目录&#xff5e; 1.Autoregressive Model Beats Diffusion: Llama for Scalable Image Generation2.Reasoning in Token Economies: Budget-Aware Evaluation of LLM Reasoning Strategies3.Low-Rank Quantization-Aware Training for LLMs4.MASSW: A New Dataset and Ben…

聊一聊 Monitor.Wait 和 Pluse 的底层玩法

一&#xff1a;背景 1. 讲故事 在dump分析的过程中经常会看到很多线程卡在Monitor.Wait方法上&#xff0c;曾经也有不少人问我为什么用 !syncblk 看不到 Monitor.Wait 上的锁信息&#xff0c;刚好昨天有时间我就来研究一下。 二&#xff1a;Monitor.Wait 底层怎么玩的 1. 案…

Chromium 开发指南2024 Mac篇-Chromium项目编译小技巧(六)

1. 前言 在编译大型项目如 Chromium 时&#xff0c;优化编译速度是非常重要的。本文将介绍一些编译优化的小技巧&#xff0c;尤其是如何使用 ccache 来加速 C/C 代码的重新编译。ccache 是一个编译器缓存&#xff0c;通过缓存之前的编译并检测何时再次进行相同的编译&#xff…

“display interface“的43条信息,这条绝对被你忽略了

号主&#xff1a;老杨丨11年资深网络工程师&#xff0c;更多网工提升干货&#xff0c;请关注公众号&#xff1a;网络工程师俱乐部 大家好&#xff0c;我是张总。 上周和老杨唠嗑&#xff0c;他说我每次都是直播&#xff0c;或者视频号上给大家聊聊技术&#xff0c;都没发过技术…

站群服务器对于网站优化有哪些好处?

站群服务器主要是指IP数量比一般服务器多的机器&#xff0c;这种类型的服务器会应用在网站集群和数据库集群等场景当中&#xff0c;站群服务器能够通过批量操作快速部署多个网站&#xff0c;为企业节省了大量的时间和人力成本。 那站群服务器对于网站进行优化的好处有哪些呢&am…

后缀表达式多语言版(c++ java python等)

后缀表达式&#xff0c;也称为逆波兰表达式&#xff0c;是一种不需要括号的运算表达式。在后缀表达式中&#xff0c;所有的数字和运算符用两个空格隔开&#xff0c;所有的运算符都放在两个操作数的后面。 后缀表达式求值c代码 #include <iostream> #include <stack&…

U盘删除的文件怎么找回?数据恢复,5个方法

“我的u盘里有部分文件不小心被删除了&#xff0c;尝试了很多的方法都无法找回它们。U盘删除的文件怎么找回呢&#xff1f;希望大家给我出出主意&#xff01;” 保存了很多重要的文件在u盘中&#xff0c;查看u盘内存时却发现很多文件被删除了&#xff1f;别慌&#xff01;即使u…

系统架构设计师【论文-2020年 试题4】: 论企业集成架构设计及其应用(包括解题思路和经典范文)

文章目录 真题题目&#xff08;2020年 试题4&#xff09;写作要点经典范文 真题题目&#xff08;2020年 试题4&#xff09; 论企业集成架构设计及其应用 企业集成架构&#xff08;Enterprise Integration Architecture&#xff0c;ElA)是企业集成平台的核心&#xff0c;也是解…

B树(数据结构篇)

数据结构之B树 B-树(B-tree) 概念&#xff1a; B-树是一个非二叉树的多路平衡查找树(数据有序)&#xff0c;是一颗所有数据都存储在树叶节点上的树&#xff0c;不一定存储具体的数据&#xff0c;也可以是指向包含数据的记录的指针或地址 对于**阶为M(子节点数量在2和M之间)*…

Properties与xml知识点总结

文章目录 一、Properties1.1 构造方法1.2 从Properties文件中获取1.3 向Properties文件中存储 二、xml2.1 XML2.2 特点2.3 规则2.3 抬头声明2.4 特殊字符2.5 CDATA区段2.4 作用和应用场景 三、区别 一、Properties 定义&#xff1a;properties是一个双列集合集合&#xff0c;拥…

Python启多个线程,运行多个Python文件

哈喽,大家好,我是木头左! 在多任务处理的场景中,经常需要同时运行多个Python文件。为了提高程序的效率和性能,可以使用Python的多线程功能来并发执行这些文件。本文将介绍如何使用Python创建多个线程,并运行多个Python文件。 1. 导入所需库 需要导入一些必要的库来实现多…

android 在线程中更新界面

在Android中&#xff0c;你不能直接从子线程中更新UI&#xff0c;因为这会导致应用崩溃。你需要使用Handler或runOnUiThread()来更新UI。 使用Handler 以下是如何使用Handler在子线程中更新UI的示例&#xff1a; 1. 创建Handler实例&#xff1a; import android.os.Bundle;…

MicroBlaze IP核中的外设接口和缓冲器接口介绍

MicroBlaze IP核是Xilinx公司提供的一个嵌入式软核处理器&#xff0c;广泛应用于FPGA设计中。在MicroBlaze IP核中&#xff0c;外设接口和缓冲器接口是处理器与外部设备和内存交互的关键部分。 1 外设接口 MicroBlaze处理器中的AXI4 内存映射外设接口AXI4是一种在Xilinx FPGA设…

探索Selenium:通过JavaScript增强UI测试效率和效果

在自动化测试中&#xff0c;模拟用户的行为只是任务的一部分。许多时候&#xff0c;测试人员需要更多的控制和灵活性&#xff0c;以验证应用程序的功能和性能。Selenium WebDriver 提供了执行 JavaScript 代码的能力&#xff0c;这一特性为测试人员打开了新的可能性。本文将深入…

产品经理方法论

1、用户体验 5 要素 1&#xff0c;表现层是你拿到一个产品以后&#xff0c;视觉表现&#xff0c;配色&#xff0c;布局&#xff0c;排版等等 2&#xff0c;框架层&#xff0c;是交互层面的东西&#xff0c;比如&#xff0c;操作情况&#xff0c;刷新&#xff0c;页面跳转&…

ChatmoneyAI如狂风般席卷广告创意舞台,轻松闯荡财富之海!

本文由 ChatMoney团队出品 引言 在广告创意行业&#xff0c;创新和高效是赢得市场的关键。而我今天要分享的就是如何利用ChatmoneyAI这款强大的人工智能工具&#xff0c;打破创新难题&#xff0c;赚取丰厚收益。 让我告诉你一个小秘密&#xff0c;有客户曾在一个月内&#xf…

git merge(3个模式) 与 git rebase 图文详解区别

目录 1 git merge1.1 模式一&#xff1a;fast-forward(–ff)1.2 模式二&#xff1a;non-Fast-forward(–no-ff)1.3 模式三&#xff1a;fast-forward only(–ff-only) 2 git rebase3 区别 1 git merge git merge有好几种不同的模式 默认情况下你直接使用 git merge 命令&#x…

从boost库到时间戳

一、以问题引入 授权证书一般有到期时间的说法&#xff0c;公司测试同事在测试更新后的证书时&#xff0c;将系统时间调到了2050年&#xff0c;重启服务后发现各个进程的cpu占用率特别高&#xff1b;结合日志分析&#xff0c;发现这些进程 都在不停的刷heartbeat()的日志&#…

C++17并行算法与HIPSTDPAR

C17 parallel algorithms and HIPSTDPAR — ROCm Blogs (amd.com) C17标准在原有的C标准库中引入了并行算法的概念。像std::transform这样的并行版本算法保持了与常规串行版本相同的签名&#xff0c;只是增加了一个额外的参数来指定使用的执行策略。这种灵活性使得已经使用C标准…

AI 音乐大模型:创新的曙光还是创意产业的阴影?

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…