Description
Given two arrays, write a function to compute their intersection.
Example
Example 1:
1 2
| Input: nums1 = [1,2,2,1], nums2 = [2,2] Output: [2]
|
Example 2:
1 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.
Solution
- Time Complexity:
- Space Complexity:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| class Solution { public int[] intersection(int[] nums1, int[] nums2) { if (nums1.length == 0 || nums2.length == 0) return new int[0]; HashSet<Integer> set = new HashSet<>(); for (int num: nums1){ set.add(num); } List<Integer> tmp = new ArrayList<>(); for (int num: nums2){ if (set.contains(num)){ tmp.add(num); set.remove(num); } } int[] res = new int[tmp.size()]; for (int i = 0; i < tmp.size(); i++){ res[i] = tmp.get(i); } return res; } }
|