首页 > 代码库 > 349. Intersection of Two Arrays
349. Intersection of Two Arrays
Given two arrays, write a function to compute their intersection.
Example:
Given nums1 = [1, 2, 2, 1]
, nums2 = [2, 2]
, return [2]
.
Note:
- Each element in the result must be unique.
- The result can be in any order.
解法1:
public int[] Intersection(int[] nums1, int[] nums2) { var hashtable = new HashSet<int>(); foreach(var n in nums1) { hashtable.Add(n); } var res = new List<int>(); foreach(var n in nums2 ) { if(hashtable.Contains(n) && !res.Contains(n)) { res.Add(n); } } return res.ToArray(); }
解法2:
public int[] Intersection(int[] nums1, int[] nums2) { var res = new List<int>(); Array.Sort(nums1); Array.Sort(nums2); int size1 = nums1.Count(); int size2 = nums2.Count(); int i = 0; int j = 0; int lastNumber =0; while(i<size1 && j<size2) { if(nums1[i] == nums2[j]) { if(res.Count()==0 || nums1[i] != res[res.Count()-1]) res.Add(nums1[i]); i++; j++; } else if(nums1[i] < nums2[j]) { i++; } else { j++; } } return res.ToArray(); }
349. Intersection of Two Arrays
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。