Given two arrays, write a function to compute their intersection.
Example 1:
Input: nums1 = [1,2,2,1], nums2 = [2,2]
Output: [2,2]
Example 2:
Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
Output: [4,9]
class Solution { public int[] intersect(int[] nums1, int[] nums2) { if (nums1 == null || nums2 == null) { return null; } Map<Integer, Integer> map = new HashMap<>(); List<Integer> list = new ArrayList<>(); for (int num: nums1) { map.put(num, map.getOrDefault(num, 0) + 1); } for (int num: nums2) { if (map.containsKey(num) && map.get(num) > 0) { list.add(num); map.put(num, map.get(num) - 1); } } int[] res = new int[list.size()]; for (int k = 0; k < res.length; k++) { res[k] = list.get(k); } return res; } }
[LC] 350. Intersection of Two Arrays II
原文:https://www.cnblogs.com/xuanlu/p/12216035.html