难度:简单

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

题目链接

LeetCode -349 两个数组的交集

Set的使用

数组

class Solution {public int[] intersection(int[] nums1, int[] nums2) {if (nums1 == null || nums2 == null) {return null;}Set<Integer> set1 = new HashSet<>();Set<Integer> set2 = new HashSet<>();//遍历数组1for (int sum : nums1) {set1.add(sum);}//遍历数组2的过程中判断哈希表中是否存在该元素for (int sum : nums2) {if (set1.contains(sum)) {set2.add(sum);}}int[] result = new int[set2.size()];int start = 0;//将结果几何转为数组for (int sum : set2) {result[start] = sum;start++;}return result;}
}

list集合

class Solution {public int[] intersection(int[] nums1, int[] nums2) {if (nums1 == null || nums2 == null) {throw new IllegalArgumentException("nums1 or nums2 not empty");}// 1、创建set集合,set集合的作用是去重Set<Integer> set = Arrays.stream(nums1).boxed().collect(Collectors.toSet());// 2、遍历另外一个数组,找出相同的元素,并放入list集合中List<Integer> list = new ArrayList<>();Arrays.stream(nums2).forEach(item -> {if (set.contains(item)) {list.add(item);set.remove(item);}});// 3、返回结果return list.stream().mapToInt(Integer::valueOf).toArray();}
}

测试

LeetCode -349 两个数组的交集相关推荐

  1. 两个对象数组交集_yiduobo的每日leetcode 349.两个数组的交集 amp;amp; 350.两个数组的交集II...

    祖传的手艺不想丢了,所以按顺序写一个leetcode的题解.计划每日两题,争取不卡题吧 349.两个数组的交集https://leetcode-cn.com/problems/intersection ...

  2. LeetCode 349 两个数组的交集

    349. 两个数组的交集 难度简单476收藏分享切换为英文接收动态反馈 给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] ...

  3. LeetCode 349. 两个数组的交集【哈希表】

    349. 两个数组的交集 给定两个数组 nums1 和 nums2 ,返回 它们的交集 .输出结果中的每个元素一定是 唯一 的.我们可以 不考虑输出结果的顺序 . 示例 1: 输入:nums1 = [ ...

  4. LeetCode 349. 两个数组的交集(哈希)

    1. 题目 给定两个数组,编写一个函数来计算它们的交集. 示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2] 示例 2:输入: nums1 = [4,9 ...

  5. leetcode 349. 两个数组的交集 两种方案,c语言实现

    如题: 给定两个数组,编写一个函数来计算它们的交集.示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2]示例 2: 输入: nums1 = [4,9,5 ...

  6. 13. Leetcode 349. 两个数组的交集 (数组-分离双指针)

    给定两个数组,编写一个函数来计算它们的交集.示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2:输入:nums1 = [4,9,5], nums2 ...

  7. Leetcode 349. 两个数组的交集 (每日一题 20211014)

    给定两个数组,编写一个函数来计算它们的交集.示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2:输入:nums1 = [4,9,5], nums2 ...

  8. leetcode 349. 两个数组的交集 思考分析

    题目 给定两个数组,编写一个函数来计算它们的交集. 1.暴力双for循环 class Solution {public:vector<int> intersection(vector< ...

  9. Leetcode 349. 两个数组的交集 解题思路及C++实现

    解题思路: 先对数组进行排序,然后从小到大去找相同的元素. 程序大循环是遍历两个数组. 循环体内,当找到相等的数之后,要注意跳过重复的数字. class Solution { public:vecto ...

最新文章

  1. input不管用 vue_Vue自定义指令实现快速读取Excel
  2. 科学养猪的真正奥义,培养拯救人类的医学英雄
  3. JavaScript——jQuery AJAX链式编程(流式编程)DEMO
  4. Thinkphp小知识点
  5. 在使用线程池时应特别注意对ThreadLocal的使用
  6. 操作系统课设之简单 shell 命令行解释器的设计与实现
  7. 数据挖掘学习笔记 5 线性回归知识及预测糖尿病实例
  8. c++数据结构中 顺序队列的队首队尾_用队列实现栈,用栈实现队列,听起来有点绕,都搞懂了就掌握了精髓
  9. 字符和字符串在Java中的旅程
  10. G4L---linux系统---硬盘对拷(克隆)
  11. web切图工具 css,WEB前端之切图篇
  12. Peer-to-Peer Sockets 工程入门
  13. 创造力对领导力的重要性_创造力是冒险的(领导者需要听到的其他真相)
  14. 【进程管理器】PM2应用进程管理器
  15. mailx配置TSL发送邮件
  16. JPA、EJB、事物管理、WebSphere ---相关内容整理
  17. 黑客利用WordPress 插件暗中建立后门网站
  18. 小米路由器3G R3G 刷入Breed和OpenWrt 20.02.2 的记录
  19. (九五至尊)九大管理体系,五大过程组:软考高级信息系统项目管理师
  20. xargs -0 是什么意思

热门文章

  1. ...startWebLogic.sh: line 202:21293 已杀死
  2. 《软技能——代码之外的生存指南》笔记
  3. 数字增加滚动动画用原生js实现的多种方案
  4. 认识下中国最赚钱的服装公司的幕后老板
  5. 1087 花括号展开
  6. 监控电脑屏幕python
  7. 您的计算机程序脱机,安捷伦脱机程序打不开,电脑脱机状态打不开
  8. 孙陶然:有能力的第一个标准是解决问题
  9. 使用a标签时不用href=““调转页面
  10. 通识1——网络摄像机简介