题目标签

Array


题意及思路

题意:这道题目给了我们一个数组有2n integers, 需要我们把这个数组分成n对,然后从每一对里面拿小的那个数字,把所有的加起来,返回这个sum。并且要使这个sum 尽量最大。

思路:如果一个小的数和一个很大的数凑在一起,那这样就会浪费那个大的数,所以我们可以进行一次排序,然后从小开始两两组队。即将下标为0,2,4 ...位置的数加起来即可。


代码

class Solution {
    public int arrayPairSum(int[] nums) {
        Arrays.sort(nums);
        int ans = 0;
        for(int i=0;i<nums.length;i+=2){
            ans += nums[i];
        }
        return ans;
    }
}