350. Intersection of Two Arrays II
Given two arrays, write a function to compute their intersection.
题目含义z:计算两个数组的交集,重复的数字要保留
1 public int[] intersect(int[] nums1, int[] nums2) { 2 if (nums1.length == 0 || nums2.length == 0) return new int[0]; 3 Map<Integer, Integer> numberMap = new HashMap<>(); 4 for (int i = 0; i < nums1.length; i++) 5 numberMap.put(nums1[i], numberMap.getOrDefault(nums1[i], 0) + 1); 6 List<Integer> resultList = new ArrayList<Integer>(); 7 for (int i = 0; i < nums2.length; i++) { 8 if (numberMap.containsKey(nums2[i]) && numberMap.get(nums2[i]) > 0) { 9 resultList.add(nums2[i]); 10 numberMap.put(nums2[i], numberMap.get(nums2[i]) - 1); 11 } 12 } 13 int[] result = new int[resultList.size()]; 14 for (int i = 0; i < result.length; i++) result[i] = resultList.get(i); 15 return result; 16 }