Leetcode 561. Array Partition I

来源:互联网 发布:中国最新cpi数据2017年 编辑:程序博客网 时间:2024/06/05 07:10

原题链接

题意:把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;    }}
0 0
原创粉丝点击