用 JavaScript 实现最大可能的成对和
问题
我们需要编写一个 JavaScript 函数,它将一个长度为 2n 的整数数组 arr 作为第一个且唯一的参数。
我们的函数的任务是将这些整数分组到 n 对整数中,例如 (a1, b1)、(a2, b2)、...、(an, bn),使所有 i 的 min(ai, bi) 从 1 到 n 的和尽可能大。
例如,如果函数的输入是 −
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
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
安卓
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP