给定两个数组 nums1
和 nums2
,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。
示例 1:
1 2
| 输入:nums1 = , nums2 = 输出:
|
示例 2:
1 2 3
| 输入:nums1 = , nums2 = 输出: 解释: 也是可通过的
|
提示:
1 <= nums1.length, nums2.length <= 1000
0 <= nums1[i], nums2[i] <= 1000
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| class Solution { public int[] intersection(int[] nums1, int[] nums2) { Set<Integer> set = new HashSet<>(); Set<Integer> ans = new HashSet<>(); for(int i = 0; i < nums1.length; i++){ set.add(nums1[i]); } for(int i = 0; i < nums2.length; i++){ if(set.contains(nums2[i])){ ans.add(nums2[i]); } } int k = 0; int[] res = new int[ans.size()]; for(int x : ans){ res[k++] = x; } return res; } }
|