349. 两个数组的交集

题目描述

原题
给定两个数组,编写一个函数来计算它们的交集。
示例 1:
1
输入:nums1 = [1,2,2,1], nums2 = [2,2]
2
输出:[2]
Copied!
示例 2:
1
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
2
输出:[9,4]
Copied!
说明:
    输出结果中的每个元素一定是唯一的。
    我们可以不考虑输出结果的顺序。

题解

1
class Solution {
2
public int[] intersection(int[] nums1, int[] nums2) {
3
if(nums1==null||nums1.length==0||nums2==null||nums1.length==0)
4
return new int[0];
5
Set<Integer> set1 = new HashSet<>();
6
for(int i = 0;i < nums1.length;i++){
7
set1.add(nums1[i]);
8
}
9
Set<Integer> set2 = new HashSet<>();
10
for(int i = 0;i < nums2.length;i++){
11
if(set1.contains(nums2[i])){
12
set2.add(nums2[i]);
13
}
14
}
15
int[] arr = new int[set2.size()];
16
int i = 0;
17
for(int value: set2){
18
arr[i++] = value;
19
}
20
return arr;
21
}
22
}
Copied!
最近更新 4mo ago
复制链接