349. 两个数组的交集
集合
import java.util.HashSet;
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
/**
* 用集合set1存储nums1的元素,然后将nums2的元素挨个进行对比
* 如果都存在就存在set2中
* 最后将集合的元素添加进一个数组返回
*/
HashSet set1 = new HashSet<>();
HashSet set2 = new HashSet<>();
for (int i = 0; i < nums1.length; i++) {
set1.add(nums1[i]);
}
for (int i = 0; i < nums2.length; i++) {
if (set1.contains(nums2[i])){
set2.add(nums2[i]);
}
}
int[] res = new int[set2.size()];
int j = 0;
for (int i : set2){
res[j++] = i;
}
return res;
}
}
/**
* 时间复杂度 O(n)
* 空间复杂度 O(n)
*/
https://leetcode-cn.com/problems/intersection-of-two-arrays/