在 JavaScript 中从总和最小的数组中找到许多对
问题
我们需要编写一个JavaScript函数,该函数接受两个有序的整数数组作为第一个和第二个参数,arr1和arr2。
该函数的第三个参数将是一个数字,num,并且num将始终小于两个数组的长度。我们函数的任务是挑选(num)对整数。
每对应该有来自arr1的第一个元素和来自arr2的第二个元素。应该选择这些对,使得这些对具有最小的可能总和。最后,我们的函数应该返回所有这些(num)对的数组。
例如,如果函数的输入是-
const arr1 = [1, 1, 2]; const arr2 = [1, 2, 3]; const num = 2;
那么输出应该是-
const output = [ [1, 1], [1, 1] ]
示例
此代码将是-
const arr1 = [1, 1, 2];
const arr2 = [1, 2, 3];
const num = 2;
const smallestPairs = (arr1 = [], arr2 = [], num = 1) => {
const temp = Array(arr1.length).fill(0);
const res = [];
let compute = () => {
let flag = Infinity;
for (let i = 0; i < arr1.length; i++) {
if (temp[i] (arr1[i] + arr2[temp[i]])) {
flag = arr1[i] + arr2[temp[i]];
}
}
if (flag === Infinity ||res.length>= num) {
return;
} else {
for (let i = 0; i < arr1.length; i++) {
if (temp[i] 输出结果控制台中的输出将是-
[ [ 1, 1 ], [ 1, 1 ] ]