349. Intersection of Two Arrays
Given two arrays, write a function to compute their intersection.
Example 1:
Input: nums1 = [1,2,2,1], nums2 = [2,2]
Output: [2]
Example 2:
Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
Output: [9,4]
Note:
- Each element in the result must be unique.
- The result can be in any order.
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
Set<Integer> set = new HashSet<>();
List<Integer> list = new ArrayList<>();
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])){
list.add(nums2[i]);
set.remove(nums2[i]);
}
}
int[] result = new int[list.size()];
for(int i=0;i<result.length;i++){
result[i] = list.get(i);
}
return result;
}
}
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
Set<Integer> set = new HashSet<>();
Set<Integer> setResult = 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])){
setResult.add(nums2[i]);
}
}
int[] result = new int[setResult.size()];
int k=0;
for(Integer value:setResult){
result[k++] = value;
}
return result;
}
}
两个Set集合即可