在 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 ] ]