两个数组的交集

给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]
输出: [2]
示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [9,4]
说明:输出结果中的每个元素一定是唯一的。
我们可以不考虑输出结果的顺序。

解决方法:

    public int[] intersection(int[] nums1, int[] nums2) {HashSet<Integer> set1 = new HashSet<>();for (int i : nums1) {set1.add(i);}HashSet<Integer> set2 = new HashSet<>();for (int i : nums2) {set2.add(i);}set1.retainAll(set2);int[] result = new int[set1.size()];Integer[] integers = set1.toArray(new Integer[0]);for (int i = 0; i < integers.length; i++) {result[i] = integers[i];}return result;}

理解:

怎么说呢,算法不一定是非要自己手写,有些时候也可以利用jdk 的工具。因为jdk 里面会有一些比较好的算法。但是尽量不要用,有些算法题,真的是没有规律可言,就像这道题目。没有办法,但是你可以利用jdk 的一些集合等,降低算法复杂度。

算法---------两个数的交集相关推荐

  1. Leetcode 350 两个数的交集2

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

  2. Algorithm:C+语言实现之数组相关算法(和为定值的两个数、和为定值的m个数、荷兰国旗、长度为2n的洗牌算法、任意长度数组的洗牌算法)

    Algorithm:C+语言实现之数组相关算法(和为定值的两个数.和为定值的m个数.荷兰国旗.长度为2n的洗牌算法.任意长度数组的洗牌算法) 目录 数组 1.寻找和为定值的两个数 2.和为定值的m个数 ...

  3. Stein算法(求两个数最大公约数)

    欧几里德算法是计算两个数最大公约数的传统算法,他无论从理论还是从效率上都是很好的.但是他有一个致命的缺陷,这个缺陷只有在大素数时才会显现出来. 考虑现在的硬件平台,一般整数最多也就是64位,对于这样的 ...

  4. java 寻找和为定值的多个数_算法笔记_037:寻找和为定值的两个数(Java)

    1 问题描述 输入一个整数数组和一个整数,在数组中查找两个数,满足他们的和正好是输入的那个整数.如果有多对数的和等于输入的整数,输出任意一对即可.例如,如果输入数组[1,2,4,5,7,11,15]和 ...

  5. python 多条件 选择 算法_python部署python算法 - 快速寻找满足条件的两个数

    题目前提是一定存在这样两个数 解法一就不写了...一般想不到吧 一开始想到的是解法二最后的用hash表 (其实是想到创建一个跟target一样大的数组啦..存在就写入index,但是要全部找出,那得二 ...

  6. 算法:求两个数最大公约数

    算法:求两个数最大公约数 原来这是欧几里德先生的发明,无知了,在此记录. #Python 求两数最大公约数 def gcd(a,b):if b == 0:return areturn gcd(b,a% ...

  7. php实现两个数相乘,最高效的乘法:两个非常大的数字相乘迄今最快算法

    基本上,每个人都认为你在学校学习的(相乘)方法是最好的,但实际上这是一个活跃的研究领域,"法国国家科学研究中心的数学家.论文合著者约里斯·范德霍芬说道.该论文发表在法国的国家开放存取文献数据 ...

  8. 算法:求两个数的最大公约数与最小公倍数的方法

    1.计算两个整数的最大公约数方法有两种 第一种是使用<九章算术>中的更相减损术方法,"以少减多,更相减损,求其等也,以等数约之,等数约之,即除也,其所以相减者皆等数之重叠,故以等 ...

  9. 【C语言】实现求两个数的最大公约数【四种算法】

    题目 给定两个数,求这两个数的最大公约数 例如: 输入:20 40 输出:20 解题思路 最大公约数:即两个数据中公共约数的最大者 求解的方式比较多,暴力穷举.辗转相除法.更相减损法.Stein算法算 ...

最新文章

  1. CList添加出错AddTail();rror C2664: 'struct __POSITION *__thiscall CList错误
  2. Python3实现邮件群发
  3. [Android]关于IntentService
  4. linux编译ffmpeg成so,「ffmpeg」一 mac 环境下编译ffmpeg,生成so库文件
  5. Tensorflow框架:InceptionV3网络概念及实现
  6. DataTable序列化为JSON字符串
  7. linux c语言 模拟键盘输入
  8. 【5G学习笔记-8】38.306 36.306 User Equipment (UE) radio access capabilities 以及终端CDRX能力上报 featureGroupIndic
  9. 《哈佛大学幸福课》笔记
  10. linux vm编辑文件命令行,linux vm编辑器操作
  11. MySQL基本命令操作
  12. 关于Navicat Premium连接Oracle数据库闪退(失败)的解决办法(带ocl.dll)
  13. Android开发——查询/杀死手机里正在运行的进程
  14. 可以作为艺术作品欣赏的CT三维重建技术。
  15. mcnpf5输出结果_MCNP及使用.ppt
  16. SpringBoot 整合 EasyExcel 数据写入Excel 合并单元格
  17. 苹果切换输入法_iPhone输入法的正确打开方式,让你打字更痛快
  18. 矩阵旋转(转置,顺时针,逆时针)
  19. Individual tree detection and estimation of stem attributes with mobile laser scanning along boreal
  20. D3D描绘四边形的四种方法之DrawPrimitive、DrawIndexedPrimitive、DrawPrimitiveUP、DrawIndexedPrimitiveUP

热门文章

  1. python矩阵reshape_[LeetCode Python3]566. Reshape the Matrix(重塑矩阵)
  2. 两个超长正整数的加法c语言,二个超长正整数的相加
  3. cgo引用定义不一致_应急照明、消防应急照明和疏散指示系统的定义与分类
  4. 开闭操作进行平滑处理与边缘提取
  5. python解压版怎么安装不了_python 连接数据库mysql解压版安装配置及遇到问题
  6. socket通信时如何判断当前连接是否断开--select函数,心跳线程,QsocketNotifier监控socket...
  7. Mac 终端便利工具: 管理工具-Homebrew 和提示工具oh my zsh
  8. modify timezone
  9. evolution configure
  10. 【知识强化】第二章 进程管理 2.1 进程与线程