两个数组的交集 II

给定两个数组,编写一个函数来计算它们的交集。

示例 1:
输入: nums1 = [1,2,2,1], nums2 = [2,2]
输出: [2,2]
示例 2:
输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [4,9]


public int[] Intersect(int[] nums1, int[] nums2) {
    Dictionary<int,int> dic = new Dictionary<int,int>();
    for(int i = 0;i<nums1.Length;i++)
    {
        if(dic.ContainsKey(nums1[i]))
        {
            dic[nums1[i]]++;
        }
        else
        {
            dic.Add(nums1[i],1);
        }
    }

    List<int> res = new List<int>();
    for(int i = 0;i<nums2.Length;i++)
    {
        if(dic.ContainsKey(nums2[i]) && dic[nums2[i]] > 0)
        {
            dic[nums2[i]]--;
            res.Add(nums2[i]);
        }
    }

    return res.ToArray();
}

首页 我的博客
粤ICP备17103704号