用 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

更新於: 2021 年 4 月 21 日

177 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始
廣告