用 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
廣告