561. Array Partition I - LeetCode

Question

561. Array Partition Ijava

Solution

題目大意是,給的數組大小是2n,把數組分紅n組,每組2個元素,每一個組取最小值,這樣就能獲得n個值,怎樣分組才能使這n個數相加最小。數組

思路:有點田忌賽馬的意思,確定最大和第二大一組,取最小值即第二大的數,依次類推。。。這樣就須要排序,隔一個取一個。code

Java實現:排序

public int arrayPairSum(int[] nums) {
    Arrays.sort(nums);
    int total = 0;
    for (int i=0; i<nums.length; i+=2) {
        total += nums[i];
    }
    return total;
}
相關文章
相關標籤/搜索