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

Leetcode_349.两个数组的交集

在这里插入图片描述
这道题的意思很明确,就是让寻找两个数组中的共同元素,并去重,由此可以联想到哈希表的特性,注意到题目给的数据范围,在1000以内,所以本题可以使用 STL 的库函数,也可以使用数组进行模拟。
本题要求去重的交集,因此选用unordered_set。相比于set(红黑树实现,O(log n)查找),unordered_set(哈希表实现,平均O(1)查找)在效率上更优。

class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {// 使用unordered_set存储nums1的元素,自动去重unordered_set<int> st(nums1.begin(), nums1.end());// 用于存储结果的集合,保证结果中的元素唯一unordered_set<int> result;// 遍历nums2中的每个元素for(int i = 0; i < nums2.size(); i++) {// 检查当前元素是否存在于nums1中(即是否在st集合中)if(st.find(nums2[i]) != st.end()) {// 如果存在,则将该元素加入结果集合result.insert(nums2[i]);}}// 将结果集合转换为vector返回return vector<int>(result.begin(), result.end());}
};
http://www.dtcms.com/a/303112.html

相关文章:

  • Word VBA快速制作试卷(2/2)
  • 【华为机试】5. 最长回文子串
  • 学习人工智能所需知识体系及路径详解
  • 记录几个SystemVerilog的语法——随机
  • 五自由度磁悬浮轴承转子:基于自适应陷波器的零振动攻克不平衡质量扰动的终极策略
  • (45) QT 提供了一个功能,以同步现代操作系统的编辑功能,在标题栏上显示 * 占位符,以显示窗体上发生了未被保存的修改
  • 三维插件 Forest 深度解析:打造高效逼真的自然环境
  • 命令执行漏洞
  • 计算机毕设分享-基于SpringBoot的健身房管理系统(开题报告+前后端源码+Lun文+开发文档+数据库设计文档)
  • USRP-X440 雷达目标发生器
  • 深入解析 Java Stream 设计:从四幕剧看流水线设计与执行机制
  • 对于ui=f(state)的理解(react)
  • Redis四种GetShell方式完整教程
  • 使用Docker在Rocky Linux 9.5上在线部署LangFlow
  • 【STM32编码器接口测速】实现测速功能
  • 删除二维特征图中指定区域的样本
  • linux系统----Ansible中的playbook简单应用
  • 【Java EE】多线程-初阶-线程的状态
  • java里List链式编程
  • 4、如何生成分布式ID?
  • Linux->模拟实现 fopen/fread/fwrite
  • Bruce Momjian 深圳 meetup 回顾
  • 大模型基础设施搭建 - 操作系统centos7
  • SDRAM
  • CTF-Web学习笔记:文件包含篇
  • 阿里给AI To C战略戴上眼镜
  • 4.应用层自定义协议与序列化
  • JUC线程池: ScheduledThreadPoolExecutor详解
  • VMWARE -ESXI-ntp时间同步无法启动异常处理
  • Go-Elasticsearch Typed Client 使用命名、结构与约定