当前位置: 首页 > news >正文

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

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

思路:

方法一:set

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

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

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

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

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

(3)返回answer

解题:

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

(2)比对过程

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

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

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


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

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

http://www.dtcms.com/a/39411.html

相关文章:

  • 七、Redis集群高可用
  • 第74节 绘制点和线条( LineTo 和 MoveTo )
  • lombok 的注解说明
  • 使用DeepSeek/chatgpt等AI工具辅助网络协议流量数据包分析
  • 0—QT ui界面一览
  • 【网络】HTTPS协议原理
  • STM32的C语言软件延时函数
  • Jquery详解
  • 模型和数据集的平台之在Hugging Face上进行模型下载、上传以及创建专属Space
  • 数据存储:一文掌握存储数据到mysql的详细使用
  • HIVE SQL函数之比较函数
  • 51单片机编程学习笔记——LED原理图
  • uni-app 开发 App 、 H5 横屏签名(基于lime-signature)
  • SCIKIT-LEARN 决策树实现csv文档简单的推论预测
  • 分布式爬虫
  • drupal简介
  • 工作中遇到的EXCEL小问题:多行有间隔符的合并
  • 【二分查找】P9698 [GDCPC2023] Path Planning|普及
  • 【SimHash 实现查重功能】
  • 基于 JavaWeb 的 SSM+Maven 微信小程序快递柜管理系统设计和实现(源码+文档+部署讲解)
  • STM32F407ZGT6移植freeRTOS
  • java异步编程接口简介
  • WPF学习之Prism(二)
  • 【HarmonyOS Next】 鸿蒙应用useNormalizedOHMUrl详解
  • Day29 第八章 贪心算法 part02
  • 分布式主键生成服务
  • 医院HIS接入大模型:算力基础设施与训练能力的深度剖析与测算
  • 树莓集团:数字影像领航,开启未来影像变革
  • 【STL学习】(5)list
  • Android内存优化指南:从数据结构到5R法则的全面策略