LeetCode -349 两个数组的交集
难度:简单
给定两个数组 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 两个数组的交集相关推荐
- 两个对象数组交集_yiduobo的每日leetcode 349.两个数组的交集 amp;amp; 350.两个数组的交集II...
祖传的手艺不想丢了,所以按顺序写一个leetcode的题解.计划每日两题,争取不卡题吧 349.两个数组的交集https://leetcode-cn.com/problems/intersection ...
- LeetCode 349 两个数组的交集
349. 两个数组的交集 难度简单476收藏分享切换为英文接收动态反馈 给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] ...
- LeetCode 349. 两个数组的交集【哈希表】
349. 两个数组的交集 给定两个数组 nums1 和 nums2 ,返回 它们的交集 .输出结果中的每个元素一定是 唯一 的.我们可以 不考虑输出结果的顺序 . 示例 1: 输入:nums1 = [ ...
- LeetCode 349. 两个数组的交集(哈希)
1. 题目 给定两个数组,编写一个函数来计算它们的交集. 示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2] 示例 2:输入: nums1 = [4,9 ...
- leetcode 349. 两个数组的交集 两种方案,c语言实现
如题: 给定两个数组,编写一个函数来计算它们的交集.示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2]示例 2: 输入: nums1 = [4,9,5 ...
- 13. Leetcode 349. 两个数组的交集 (数组-分离双指针)
给定两个数组,编写一个函数来计算它们的交集.示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2:输入:nums1 = [4,9,5], nums2 ...
- Leetcode 349. 两个数组的交集 (每日一题 20211014)
给定两个数组,编写一个函数来计算它们的交集.示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2:输入:nums1 = [4,9,5], nums2 ...
- leetcode 349. 两个数组的交集 思考分析
题目 给定两个数组,编写一个函数来计算它们的交集. 1.暴力双for循环 class Solution {public:vector<int> intersection(vector< ...
- Leetcode 349. 两个数组的交集 解题思路及C++实现
解题思路: 先对数组进行排序,然后从小到大去找相同的元素. 程序大循环是遍历两个数组. 循环体内,当找到相等的数之后,要注意跳过重复的数字. class Solution { public:vecto ...
最新文章
- input不管用 vue_Vue自定义指令实现快速读取Excel
- 科学养猪的真正奥义,培养拯救人类的医学英雄
- JavaScript——jQuery AJAX链式编程(流式编程)DEMO
- Thinkphp小知识点
- 在使用线程池时应特别注意对ThreadLocal的使用
- 操作系统课设之简单 shell 命令行解释器的设计与实现
- 数据挖掘学习笔记 5 线性回归知识及预测糖尿病实例
- c++数据结构中 顺序队列的队首队尾_用队列实现栈,用栈实现队列,听起来有点绕,都搞懂了就掌握了精髓
- 字符和字符串在Java中的旅程
- G4L---linux系统---硬盘对拷(克隆)
- web切图工具 css,WEB前端之切图篇
- Peer-to-Peer Sockets 工程入门
- 创造力对领导力的重要性_创造力是冒险的(领导者需要听到的其他真相)
- 【进程管理器】PM2应用进程管理器
- mailx配置TSL发送邮件
- JPA、EJB、事物管理、WebSphere ---相关内容整理
- 黑客利用WordPress 插件暗中建立后门网站
- 小米路由器3G R3G 刷入Breed和OpenWrt 20.02.2 的记录
- (九五至尊)九大管理体系,五大过程组:软考高级信息系统项目管理师
- xargs -0 是什么意思
热门文章
- ...startWebLogic.sh: line 202:21293 已杀死
- 《软技能——代码之外的生存指南》笔记
- 数字增加滚动动画用原生js实现的多种方案
- 认识下中国最赚钱的服装公司的幕后老板
- 1087 花括号展开
- 监控电脑屏幕python
- 您的计算机程序脱机,安捷伦脱机程序打不开,电脑脱机状态打不开
- 孙陶然:有能力的第一个标准是解决问题
- 使用a标签时不用href=““调转页面
- 通识1——网络摄像机简介