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

【leetcode】349. 两个数组的交集(easy)

给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。

思路

  • 先遍历nums1将其元素不重复地添加到哈希表a中;
  • 建立哈希表dup用于存储b和a重复的元素;
  • 遍历nums2,若元素存在于nums1中并且还未被记录到dup,那么添加到dup中;
  • 建立与dup等长的数组,遍历dup,将其元素依次添加到数组中并返回。

解答

class Solution {public int[] intersection(int[] nums1, int[] nums2) {HashSet<Integer> a = new HashSet<>();HashSet<Integer> dup = new HashSet<>();for(int i = 0; i<nums1.length; i++)if(!a.contains(nums1[i]))a.add(nums1[i]);for(int i = 0; i<nums2.length; i++)if(a.contains(nums2[i]) && !dup.contains(nums2[i])) //如果元素在nums1中,且没被加入dup中dup.add(nums2[i]);int[] res = new int[dup.size()];int i = 0;for(int item: dup){res[i] = item;i++;}return res;}
}
http://www.lryc.cn/news/116885.html

相关文章:

  • leetcode 2616. 最小化数对的最大差值
  • npm install 安装慢的问题处理
  • 【JAVA】七大排序算法(图解)
  • UNIX 系统概要
  • Unity 基础函数
  • 【学习】若依源码(前后端分离版)之 “ 上传图片功能实现”
  • vue3 excel 导出功能
  • python 相关框架事务开启方式
  • vue使用ElementUI
  • Python做一个绘图系统3:从文本文件导入数据并绘图
  • flutter开发实战-获取Widget的大小及位置
  • 软件测试工程师面试如何描述自动化测试是怎么实现的?
  • Qt5兼容使用之前Qt4接口 intersect接口
  • 【云原生】Kubernetes节点亲和性分配 Pod
  • 【Essential C++课后练习】纯代码(更新中)
  • C#仿热血江湖GClass
  • [SQL智慧航行者] - 用户购买商品推荐
  • Idea配置Scala开发环境
  • LT8711UXD 是一款高性能双通道 Type-C/DP1.4 至 HDMI2.0 转换器
  • Android APK体积优化(瘦身)
  • python技术栈 之 单元测试中mock的使用
  • python 提取冒号和逗号内的字符串
  • CentOS安装Postgresql
  • 云原生可观测框架 OpenTelemetry 基础知识(架构/分布式追踪/指标/日志/采样/收集器)...
  • 多用户跨境电商商品库系统快速搭建(全开源)
  • DataGrip 配置 HiveServer2 远程连接访问
  • 异常的使用
  • 软件安全测试包含哪些内容和方法?安全测试报告的必要性
  • 【代码随想录-leetcode第四题 20.有效的括号】
  • 造个轮子-任务调度执行小框架-IOC容器实现