LeetCode每日一題:數組拆分 I(No.561)

題目:數組拆分 I


給定長度爲 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;
}
}複製代碼
相關文章
相關標籤/搜索