Leetcode 350. Intersection of Two Arrays II
不定期更新leetcode解题java答案。 采用pick one的方式选择题目。
题目的意思是给定两个数组,寻找最大交集。与349相似,本题要求讲相同数字也输出,与349就有这一点不同。
思路和前文相同,直接放代码,如下:
1 public class Solution { 2 public int[] intersect(int[] nums1, int[] nums2) { 3 Arrays.sort(nums1); 4 Arrays.sort(nums2); 5 6 ArrayList<Integer> list = new ArrayList(); 7 int n1 = 0, n2 = 0; 8 while(n1 < nums1.length && n2 < nums2.length){ 9 if(nums1[n1] > nums2[n2]) 10 n2++; 11 else if(nums1[n1] < nums2[n2]) 12 n1++; 13 else{ 14 list.add(nums1[n1]); 15 n1++; 16 n2++; 17 } 18 } 19 20 int[] result = new int[list.size()]; 21 for(int i = 0; i < list.size(); i++){ 22 result[i] = list.get(i); 23 } 24 return result; 25 } 26 }