两个数组的交集2

Posted Alice_yufeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个数组的交集2相关的知识,希望对你有一定的参考价值。

class Solution 
public int[] intersect(int[] nums1, int[] nums2) 
        int n1 = nums1.length;
        int n2 = nums2.length;
        int n = Math.min(n1,n2);
        int[] arr = new int[n];
        Map<Integer,Integer> map = new HashMap<>();
        for(int i = 0; i < n1; i++)
            if(!map.containsKey(nums1[i]))
                map.put(nums1[i],1);
            else
                map.put(nums1[i],map.get(nums1[i])+1);
            
        
        int k = 0;
        for(int j = 0; j < n2; j++)
            if(map.containsKey(nums2[j]))
                arr[k] = nums2[j];
                k++;
                int x = map.get(nums2[j]) - 1;
                if(x != 0)
                    map.put(nums2[j],x);
                else
                    map.remove(nums2[j]);
                

            
        
        int[] res = new int[k];
        for(int i = 0; i < k; i++)
            res[i] = arr[i];
        
        return res;
    

以上是关于两个数组的交集2的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode练习(Python):第350题:两个数组的交集 II:给定两个数组,编写一个函数来计算它们的交集。

leetcode349. 两个数组的交集

两个数组的交集

如何求两个数组的交集??

前端与算法 leetcode 350. 两个数组的交集 II

Leetcode简单350. 两个数组的交集 IIJavaScript