十个不同长度数组同顺序对比取得和原来所有数组不重复数字
时间: 2023-11-11 13:03:23 浏览: 71
假设这十个数组分别为 arr1, arr2, ..., arr10,我们可以按照以下步骤来实现取得所有数组中不重复的数字的功能:
1. 将这十个数组合并成一个大数组,记为 arr。
2. 对 arr 进行排序。
3. 定义一个变量 prev,用来记录前一个数字的值,初始值为 arr[0]-1。
4. 遍历 arr,对于每一个数字,如果它与 prev 不相等,则将它加入到结果数组 res 中,并将 prev 更新为当前数字的值。
5. 返回 res 数组即可。
下面是一个示例代码实现:
```
function getUniqueNumbers(arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9, arr10) {
const arr = [...arr1, ...arr2, ...arr3, ...arr4, ...arr5, ...arr6, ...arr7, ...arr8, ...arr9, ...arr10];
arr.sort((a, b) => a - b);
const res = [];
let prev = arr[0] - 1;
for (let i = 0; i < arr.length; i++) {
if (arr[i] !== prev) {
res.push(arr[i]);
prev = arr[i];
}
}
return res;
}
```
需要注意的是,这个实现假设所有输入的数组都是已经排好序的,如果没有排好序,则需要先进行排序。此外,这个实现的时间复杂度为 O(NlogN),其中 N 为所有数组的元素总数,因为需要对所有元素进行排序。
阅读全文