题意:把2n个数两两分成n组,求每组中的最小值相加的最大和
思路:贪心算法。先把数组排序,从后往前两两组合成一组。说下我这么想的思路,最大值肯定取不到,把他与第二大的值搭配收益最大;如果最大值不与第二大的值搭配,第二大的数也取不到(因为在另外组里第二大的数肯定是最大的)
public class Solution {
public int arrayPairSum(int[] nums) {
if(nums == null||nums.length == 0) return 0;
int ans = 0;
Arrays.sort(nums);
for(int i = nums.length - 2;i >= 0;i -= 2){
ans += nums[i];
}
return ans;
}
}