
Given two arrays, write a function to compute their intersection.
Example
No.1
Input: nums1 = [1,2,2,1], nums2 = [2,2]
Output: [2]
No.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.
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
public int[] intersection(int[] nums1, int[] nums2) { Set<Integer> set = new HashSet<>(); List<Integer> list = new ArrayList<>();
for (int num : nums1) set.add(num);
for (int num : nums2) { if (!set.contains(num)) continue;
list.add(num); set.remove(num); }
int[] result = new int[list.size()];
for (int i = 0; i < result.length; i++) result[i] = list.get(i);
return result; }
|
近期评论