[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/git-jhy/JavaArithmetic/master/src/LeetCode/Leetcode350.java [Back]  [Original]

package LeetCode;

import java.util.ArrayList;
import java.util.TreeMap;

public class Leetcode350 {

    // https://leetcode.com/problems/intersection-of-two-arrays-ii/description/
    // : O(nlogn)
    // : O(n)

    public int[] intersect(int[] nums1, int[] nums2) {

        TreeMap record = new TreeMap();

        // nums1mapvalue
        for (int num : nums1)
            if (!record.containsKey(num))
                record.put(num, 1);
            else
                record.put(num, record.get(num) + 1);

        ArrayList result = new ArrayList();
        for (int num : nums2)
            if (record.containsKey(num) && record.get(num) > 0) {
                result.add(num);
                record.put(num, record.get(num) - 1);
            }

        int[] ret = new int[result.size()];
        int index = 0;
        for (Integer num : result)
            ret[index++] = num;

        return ret;
    }

}

Web Proxy Viewer  |  New URL  |  Original Page