文章 评论 浏览 20982
// 先将两个数组进行排序,然后使用双指针p1和p2判断当前数字是否相等,若相等,则加入结果数组,两个指针都前进一格 // 若p1指向的数字 < p2,则移动p1 // 反之移动p2 var intersection = function(nums1, nums2) { nums1.sort((x, y) => x - y) nums2.sort((x, y) => x - y) const l1 = nums1.length const l2 = nums2.length let p1 = p2 = 0 const res = [] let pre while (p1 < l1 && p2 < l2) { if (nums2[p2] === nums1[p1]) { // 若要求结果数组去重,则需要记录一个pre,每次结果数组压入值时判断是否与pre相同 res.push(nums1[p1]) } p1 ++ p2 ++ } else if (nums1[p1] < nums2[p2]) { p1 ++ } else { p2 ++ } } return res };
BFC原理解析
好看,感谢分享!
简直脑洞打开,那个鱼上面有个篮球,说明这些图片是收集来自追波上的吧!
文章 0 评论 0
接受
第 59 题:给定两个数组,写一个方法来计算它们的交集