总结:
使用归并思想,此种方法适用于两个数组存在重复元素的情况。
思路:
设置两个数组指针,在相等的时候同时后移。如果不相等,谁小谁++,遍历完任何一个数组,就可以结束了。
let arr1 = [1,5,8,9],
arr2 = [4,5,1,2];
let findSame = function(arr1,arr2){
let newArr = [],
sortArr1 = arr1.sort(),
sortArr2 = arr2.sort();
let i = 0, j = 0;
while ( i < arr1.length && j < arr2.length ) {
if (arr1[i] == arr2[j]) {
newArr.push(arr1[i]);
i++;
j++;
}
else if (arr1[i] < arr2[j]) i++;
else j++;
}
return newArr;
}
console.log(findSame(arr1,arr2));
本文介绍了如何使用归并思想解决两个数组中重复元素查找问题,通过比较和移动指针实现,适合含有重复元素的数组。展示了如何在JavaScript中实现findSame函数来合并相同元素。
5208

被折叠的 条评论
为什么被折叠?



