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

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

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

思路:

方法一:set

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

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

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

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

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

(3)返回answer

解题:

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

(2)比对过程

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

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

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


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

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

相关文章:

  • 七、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 微信小程序快递柜管理系统设计和实现(源码+文档+部署讲解)
  • 小核酸药物企业瑞博生物递表港交所,去年亏损2.81亿元
  • 北方旱情持续,水利部:大中型灌区春灌总体有保障
  • 铁路迎来节前出行高峰,今日全国铁路预计发送旅客1870万人次
  • 游客曝九寨沟打网约车被出租车围堵,景区回应:当地无合规网约车
  • 我国首部《人工智能气象应用服务办法》今天发布
  • 病人有头发,照护者不发疯:《黑镜》中的身体缺席与虚伪关怀