我们需要编写一个 JavaScript 函数,它接受一个整数数组 arr,它的长度为 2n 作为第一个也是唯一的参数。
我们函数的任务是将这些整数分组为 n 对整数,比如 (a1, b1), (a2, b2), ..., (an, bn) 这使得min(ai, bi)从 1 到 n 的所有 i 的总和为尽可能大。
例如,如果函数的输入是 -
const arr = [1, 4, 3, 2];
那么输出应该是 -
const output = 4;
n 为 2,对的最大和为 4 = min(1, 2) + min(3, 4)。
以下是代码 -
const arr = [1, 4, 3, 2]; const pairSum = (arr = []) => { arr.sort((a, b) => a - b) let sum = 0 for (let i = 0; i < arr.length; i += 2) { sum += Math.min(arr[i], arr[i + 1]) } return sum } console.log(pairSum(arr));输出结果
以下是控制台输出 -
4