leetcode Intersection of Two Arrays
解题思路:创建两个Set 存储数组中的元素,去除重复,遍历第一个set ,如果第二个set包含该元素,存储在第三个set中,把set中的元素存储在新的数组中。
public static void main(String[] args) {
int[] num3={1,2,1,2};
int[] num4={2,2};
int[] intersection = intersection(num3, num4);
System.out.println(Arrays.toString(intersection));
}
public static int[] intersection(int[] nums1, int[] nums2) {
Set<Integer> set1 = changeArrayToSet(nums1);
Set<Integer> set2 = changeArrayToSet(nums2);
Set<Integer> set3=new HashSet<>();
for (Integer integer : set1) {
if(set2.contains(integer)){
set3.add(integer);
}
}
int i=0;
int[] arr=new int[set3.size()];
for (Integer integer : set3) {
arr[i]=integer;
i++;
}
return arr;
}
public static Set<Integer> changeArrayToSet(int[] nums1){
Set<Integer> set=new HashSet<>();
for (int num: nums1) {
set.add(num);
}
return set;
}