给定两个数组,编写一个函数来计算它们的交集。
示例 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();
}