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