- 两个数组的交集 已解答 简单 相关标签 相关企业 给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。
示例 1:
输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2:
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4] 解释:[4,9] 也是可通过的
思路:
set集合特点不重复,所以我们用set集合做,把数组的数据放入set集合里面,达到去重的作用,然后用一个新的集合去遍历,在里面使用 contanis函数判断,如果存在则放入这个集合里面,最后把set集合数据转入到数组
class Solution {public int[] intersection(int[] nums1, int[] nums2) {//利用set集合去重Set<Integer> set =new HashSet<Integer>();//存放最后结果Set<Integer> set1 =new HashSet<Integer>();for( int n :nums1){set.add(n);}for( int n :nums2){if(set.contains(n)){set1.add(n);}}int[] n=new int [set1.size()];int i=0;for(Integer m: set1){n[i]=m;i++;}return n;}
}