首页 > 其他 > 详细

LeetCode Intersection of Two Arrays II

时间:2017-01-06 10:42:01      阅读:281      评论:0      收藏:0      [点我收藏+]

原题链接在这里:https://leetcode.com/problems/intersection-of-two-arrays-ii/

题目:

Given two arrays, write a function to compute their intersection.

Example:
Given nums1 = [1, 2, 2, 1]nums2 = [2, 2], return [2, 2].

Note:

  • Each element in the result should appear as many times as it shows in both arrays.
  • The result can be in any order.

 

Follow up:

    • What if the given array is already sorted? How would you optimize your algorithm?
    • What if nums1‘s size is small compared to nums2‘s size? Which algorithm is better?
    • What if elements of nums2 are stored on disk, and the memory is limited such that you cannot load all elements into the memory at once?

题解:

类似Intersection of Two Arrays.

AC Java:

 1 public class Solution {
 2     public int[] intersect(int[] nums1, int[] nums2) {
 3         Arrays.sort(nums1);
 4         Arrays.sort(nums2);
 5         int i = 0;
 6         int j = 0;
 7         List<Integer> res = new ArrayList<Integer>();
 8         while(i<nums1.length && j<nums2.length){
 9             if(nums1[i] < nums2[j]){
10                 i++;
11             }else if(nums1[i] > nums2[j]){
12                 j++;
13             }else{
14                 res.add(nums1[i]);
15                 i++;
16                 j++;
17             }
18         }
19         
20         int [] resArr = new int[res.size()];
21         int k = 0;
22         for(int num : res){
23             resArr[k++] = num;
24         }
25         return resArr;
26     }
27 }

 

LeetCode Intersection of Two Arrays II

原文:http://www.cnblogs.com/Dylan-Java-NYC/p/6255195.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!