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

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

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

思路:

方法一:set

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

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

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

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

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

(3)返回answer

解题:

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

(2)比对过程

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

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

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


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

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


http://www.kler.cn/a/562993.html

相关文章:

  • seacmsv9注入管理员账号密码+order by+limit
  • MaxKB上架至阿里云轻量应用服务器镜像市场
  • 安科瑞为高速公路服务区充电桩建设运营提供解决方案
  • Canvas在视频应用中的技术解析
  • 国密算法Sm2工具类--golang实现版
  • SpringBoot项目连接Oracle视图报错整理
  • 上证50期权代码是什么?上证50股指期权数据从哪里可以找到?
  • 怎么获取免费的 GPU 资源完成大语言模型(LLM)实验
  • 在CentOS 7上安装RocketMQ 4.9.2
  • Vscode编辑器:解读文件结构、插件的导入导出、常用快捷键配置技巧及其常见问题的解决方案
  • 如何在Spring Boot中监控缓存的命中率?
  • 学习路之PHP --TP6异步执行功能 (无需安装任何框架)
  • HDFS扩缩容及数据迁移
  • 面试之《react hooks在源码中是怎么实现的?》
  • HIVE SQL函数之比较函数
  • Wpf 之Generic.xaml
  • vmware:新装ubuntu无法使用ssh连接或者复制粘连
  • Elasticsearch 相关面试题
  • Lua的for循环中ipairs和pairs的区别
  • 结构型模式 - 享元模式 (Flyweight Pattern)