LeetCode / #数组

给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。返回该 最大总和 。

先排序在处理的思想,很多时候受用。

/**
 * @param {number[]} nums
 * @return {number}
 */
var arrayPairSum = function(nums) {
  // 升序排列
  nums.sort((a, b) => a - b);
  let minSum = 0;
  for (let i = 0; i < nums.length; i += 2) {
    minSum += nums[i]
  }
  return minSum;
};