349.两个数组的交集

给定两个数组,编写一个函数来计算它们的交集。

示例 1:

1
2
输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]

Solution

说实话这道题很无聊

用一个Set集合储存一个nums1,然后遍历nums2中的元素,来测出nums1nums2交集,因为答案数组不能有重复元素,所以创建第二个Set来存储交集,如果Set1中包含了这一元素,说明是交集,添加进入Set2

最后将Set转换为int数组输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
Set <Integer> set=new HashSet<>();
for(int i=0;i<nums1.length;i++){
set.add(nums1[i]);
}

Set <Integer> a=new HashSet<>();
for(int j=0;j<nums2.length;j++){
if(set.contains(nums2[j])==true){
a.add(nums2[j]);
}
}

Integer[] array = a.toArray(new Integer[0]);
// 再将Integer型数组转为int型数组
int[] intArray = new int[array.length];
for (int i = 0; i < array.length; i++) {
intArray[i] = array[i].intValue();
}
return intArray;

}
}