在 JavaScript 中实现最大可能的对和
问题
我们需要编写一个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