算法---------两个数的交集
两个数组的交集
给定两个数组,编写一个函数来计算它们的交集。示例 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 的一些集合等,降低算法复杂度。
算法---------两个数的交集相关推荐
- Leetcode 350 两个数的交集2
给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [4,9,5 ...
- Algorithm:C+语言实现之数组相关算法(和为定值的两个数、和为定值的m个数、荷兰国旗、长度为2n的洗牌算法、任意长度数组的洗牌算法)
Algorithm:C+语言实现之数组相关算法(和为定值的两个数.和为定值的m个数.荷兰国旗.长度为2n的洗牌算法.任意长度数组的洗牌算法) 目录 数组 1.寻找和为定值的两个数 2.和为定值的m个数 ...
- Stein算法(求两个数最大公约数)
欧几里德算法是计算两个数最大公约数的传统算法,他无论从理论还是从效率上都是很好的.但是他有一个致命的缺陷,这个缺陷只有在大素数时才会显现出来. 考虑现在的硬件平台,一般整数最多也就是64位,对于这样的 ...
- java 寻找和为定值的多个数_算法笔记_037:寻找和为定值的两个数(Java)
1 问题描述 输入一个整数数组和一个整数,在数组中查找两个数,满足他们的和正好是输入的那个整数.如果有多对数的和等于输入的整数,输出任意一对即可.例如,如果输入数组[1,2,4,5,7,11,15]和 ...
- python 多条件 选择 算法_python部署python算法 - 快速寻找满足条件的两个数
题目前提是一定存在这样两个数 解法一就不写了...一般想不到吧 一开始想到的是解法二最后的用hash表 (其实是想到创建一个跟target一样大的数组啦..存在就写入index,但是要全部找出,那得二 ...
- 算法:求两个数最大公约数
算法:求两个数最大公约数 原来这是欧几里德先生的发明,无知了,在此记录. #Python 求两数最大公约数 def gcd(a,b):if b == 0:return areturn gcd(b,a% ...
- php实现两个数相乘,最高效的乘法:两个非常大的数字相乘迄今最快算法
基本上,每个人都认为你在学校学习的(相乘)方法是最好的,但实际上这是一个活跃的研究领域,"法国国家科学研究中心的数学家.论文合著者约里斯·范德霍芬说道.该论文发表在法国的国家开放存取文献数据 ...
- 算法:求两个数的最大公约数与最小公倍数的方法
1.计算两个整数的最大公约数方法有两种 第一种是使用<九章算术>中的更相减损术方法,"以少减多,更相减损,求其等也,以等数约之,等数约之,即除也,其所以相减者皆等数之重叠,故以等 ...
- 【C语言】实现求两个数的最大公约数【四种算法】
题目 给定两个数,求这两个数的最大公约数 例如: 输入:20 40 输出:20 解题思路 最大公约数:即两个数据中公共约数的最大者 求解的方式比较多,暴力穷举.辗转相除法.更相减损法.Stein算法算 ...
最新文章
- CList添加出错AddTail();rror C2664: 'struct __POSITION *__thiscall CList错误
- Python3实现邮件群发
- [Android]关于IntentService
- linux编译ffmpeg成so,「ffmpeg」一 mac 环境下编译ffmpeg,生成so库文件
- Tensorflow框架:InceptionV3网络概念及实现
- DataTable序列化为JSON字符串
- linux c语言 模拟键盘输入
- 【5G学习笔记-8】38.306 36.306 User Equipment (UE) radio access capabilities 以及终端CDRX能力上报 featureGroupIndic
- 《哈佛大学幸福课》笔记
- linux vm编辑文件命令行,linux vm编辑器操作
- MySQL基本命令操作
- 关于Navicat Premium连接Oracle数据库闪退(失败)的解决办法(带ocl.dll)
- Android开发——查询/杀死手机里正在运行的进程
- 可以作为艺术作品欣赏的CT三维重建技术。
- mcnpf5输出结果_MCNP及使用.ppt
- SpringBoot 整合 EasyExcel 数据写入Excel 合并单元格
- 苹果切换输入法_iPhone输入法的正确打开方式,让你打字更痛快
- 矩阵旋转(转置,顺时针,逆时针)
- Individual tree detection and estimation of stem attributes with mobile laser scanning along boreal
- D3D描绘四边形的四种方法之DrawPrimitive、DrawIndexedPrimitive、DrawPrimitiveUP、DrawIndexedPrimitiveUP
热门文章
- python矩阵reshape_[LeetCode Python3]566. Reshape the Matrix(重塑矩阵)
- 两个超长正整数的加法c语言,二个超长正整数的相加
- cgo引用定义不一致_应急照明、消防应急照明和疏散指示系统的定义与分类
- 开闭操作进行平滑处理与边缘提取
- python解压版怎么安装不了_python 连接数据库mysql解压版安装配置及遇到问题
- socket通信时如何判断当前连接是否断开--select函数,心跳线程,QsocketNotifier监控socket...
- Mac 终端便利工具: 管理工具-Homebrew 和提示工具oh my zsh
- modify timezone
- evolution configure
- 【知识强化】第二章 进程管理 2.1 进程与线程