标签:bsp order [] pre into class idea oss pair
Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1, b1), (a2, b2), ..., (an, bn) which makes sum of min(ai, bi) for all i from 1 to n as large as possible.
Example 1:
Input: [1,4,3,2] Output: 4 Explanation: n is 2, and the maximum sum of pairs is 4 = min(1, 2) + min(3, 4).
Note:
Idea 1. As the sum of the array is fixed, sum = Sa + Sb = 2*Sa + Sb - Sa, to get the maximum sum of smaller group, we want to minimize the diffence of the sum of these two groups, hence to pair the numbers closest to each other in sorted order.
Time complexity: O(NlgN)
Space complexity: O(1)
1 class Solution { 2 public int arrayPairSum(int[] nums) { 3 Arrays.sort(nums); 4 int result = 0; 5 for(int i = 0; i < nums.length; i += 2) { 6 result += nums[i]; 7 } 8 9 return result; 10 } 11 }
标签:bsp order [] pre into class idea oss pair
原文地址:https://www.cnblogs.com/taste-it-own-it-love-it/p/10847576.html