算法题(79):两个数组的交集

news/2025/2/27 6:04:02

审题:
本题需要我们查找两个给定数组的无重复数据交集,并以数组的形式返回

思路:

方法一:set

之前我们学习过unordered_set的使用,但是unordered_set是无序的,而这里我们的比对算法需要有序数据,所以这次我们使用set。

(1)先用set完成去重和升序排序

(2)利用迭代器控制循环

若两个数组当前数据相同,则为交集,将数据插入answer数组并++两个数组的迭代器

若不同,指向较小的数据的迭代器++

(3)返回answer

解题:

(1)利用set完成排序和去重

(2)比对过程

为什么是较小的数据迭代器++?

因为现在已经按照升序排序,若当前数据小于另一个数组的数据,那么它一定也小于另一个数组剩下的数据,所以它一定是差集,而不是交集,直接访问下一个元素即可

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


补充:
set:以一个特定的顺序存储唯一数据的容器

特点:寻找特定的key效率低于unordered_set


http://www.niftyadmin.cn/n/5869602.html

相关文章

MATLAB基础应用精讲-【数模应用】牛顿迭代法(附MATLAB、C++、R语言和python代码实现)

目录 前言 算法原理 什么是牛顿迭代法? 牛顿迭代如何迭代? 啥时候停止迭代呢? 特点 牛顿迭代法的扩展 迭代过程 数学模型 电力系统中牛顿拉夫逊法(N-R)潮流计算的直角坐标形式详细推导 潮流计算的牛顿-拉夫逊方法 牛顿-拉夫逊法的原理 牛顿-拉夫逊法的意义和…

Linux系统之DHCP网络协议

目录 一、DHCP概述 二、DHCP部署实操 2.1、安装DHCP软件 2.2、拷贝配置文件 2.3、配置文件详解 2.4、重启软件服务 2.5、新开一台服务器,查看dhcp地址获取 一、DHCP概述 DHCP(Dynamic Host Configuration Protocol)是一种应用层网络协…

一周学会Flask3 Python Web开发-Jinja2模版中加载静态文件

锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 一个Web项目不仅需要HTML模板,还需要许多静态文件,比如 CSS、JavaScript文件、图片以及音频等。在Fla…

【K8S】Kubernetes 中的基本组成部分介绍,一文了解 K8S 中的所有概念

应用 (Application) 定义:应用是业务逻辑的实现,非 K8S 中的官方的概念,但容器中运行的实际程序通常就被认为是应用层级关系:Application ∈ Container。Pod 是运行应用的载体,应用通是和容器一一对应,多个…

2011-2019年各省乡镇综合文化站机构数数据

2011-2019年各省乡镇综合文化站机构数数据 1、时间:2011-2019年 2、来源:国家统计局、统计年鉴 3、指标:行政区划代码、地区、年份、乡镇综合文化站机构数 4、范围:31省 5、指标解释:乡镇综合文化站是中国基层文化…

Windows 11【1001问】修改主题隐藏或删除Win11桌面“了解此图片”

在<Windows 11【1001问】如何安装Windows 11>篇幅中我们第一安装完成Windows 11还未开始其他操作的时候会发现桌面上有一个“了解此图片”的图标是之前没见过的&#xff1b;而在Windows 11中&#xff0c;“了解此图片”图标是微软引入的一项功能&#xff0c;旨在让用户通…

《从零到全栈:CSS3新增属性》

CSS3 是层叠样式表(Cascading Style Sheets)的最新版本,用于定义网页的外观和样式。它不仅扩展了 CSS2 的功能,还引入了许多新特性,使得网页设计更加灵活和强大。本文将详细介绍 CSS3 的概念、新增选择器、属性以及一些高级应用。 一、CSS3 概念 CSS3 是一种用于描述网页外…

边缘计算收益低的三大指标

边缘计算收益低的三大指标主要包括以下方面&#xff1a; 1. 资源贡献不足&#xff1a; 边缘计算的收益通常基于所提供的带宽、存储和计算资源来计算。如果设备的网络带宽有限、在线时间短或提供的存储容量较小&#xff0c;可能无法满足平台设定的最低贡献标准&#xff0c;从而导…