349.两个数组的交集
给定两个数组,编写一个函数来计算它们的交集。
示例 1:
1 2
| 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2]
|
Solution:
说实话这道题很无聊
用一个Set
集合储存一个nums1
,然后遍历nums2
中的元素,来测出nums1
和nums2
交集,因为答案数组不能有重复元素,所以创建第二个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]); int[] intArray = new int[array.length]; for (int i = 0; i < array.length; i++) { intArray[i] = array[i].intValue(); } return intArray;
} }
|