# 561. 数组拆分 I

# 题目

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

输入: [1,4,3,2]

输出: 4

解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).

提示:

n  是正整数,范围在 [1, 10000].

数组中的元素范围在 [-10000, 10000].

# 题解

# 排序

排序后相邻的一组是最大

/**
 * @param {number[]} nums
 * @return {number}
 */
var arrayPairSum = function(nums) {
  nums.sort((a, b) => {
    return a - b;
  });
  let s = 0;
  for (let i = 0; i < nums.length; i = i + 2) {
    s += nums[i];
  }
  return s;
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14