1.题目
给定两个数组,编写一个函数来计算它们的交集。
示例:
输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]
说明:
- 输出结果中的每个元素一定是唯一的。
- 我们可以不考虑输出结果的顺序。
2.思路
求两个数组的交集,我们可以利用Set的不重复性来进行操作:
public int[] intersection(int[] nums1, int[] nums2) {if (nums1 == null || nums1.length == 0 || nums2 == null || nums2.length == 0) {return new int[0];}Set<Integer> set1 = new HashSet<>();Set<Integer> set2 = new HashSet<>();for (int num : nums1) {set1.add(num);}for (int num : nums2) {if (set1.contains(num)) {set2.add(num);}}int[] returnArr = new int[set2.size()];int index = 0;for (int value : set2) {returnArr[index++] = value;}return returnArr;}
