給定長度爲 2n 的數組, 你的任務是將這些數分紅 n 對,
例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得從1 到 n 的 min(ai, bi) 總和最大。
複製代碼
輸入: [1,4,3,2]
輸出: 4
解釋: n 等於 2, 最大總和爲 4 = min(1, 2) + min(3, 4).
複製代碼
這道題先將數組排序,再從下標0開始,間隔相加,即爲結果。
複製代碼
class Solution {
public int arrayPairSum(int[] nums) {
int sum = 0;
Arrays.sort(nums);
for(int i=0;i<nums.length;i+=2)
sum += nums[i];
return sum;
}
}複製代碼