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 }

 

posted @ 2016-06-24 16:52  zslhq~  阅读(154)  评论(0编辑  收藏  举报