目录
给定两个数组,编写一个函数来计算它们的交集。
示例 1:
输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]
示例 2:
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
。过于easy
思路
俩个集合
遍历第一个数组里的数全部放进去set1
遍历第二个数组 如果set1里有数和第二个数组里的数相同
就将这个数放入res
题解
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
Set<Integer> set1=new HashSet<>();
Set<Integer> 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 j=0;
int [] res=new int[set2.size()];
for(int i:set2){
res[j++]=i;
}
return res;
}
}
O(M+N)