LeetCode之ArrayPartition

来源:互联网 发布:网络诈骗按照什么罪 编辑:程序博客网 时间:2024/05/21 11:10

题目概述:

给定一个长度为2n的整数数组,把它分成n 对,比如(a1,b1),(a2,b2),...,(an,bn),使得每一对中较小的那个数的总和足够大,并求出总和。


思路:

先将数组按照降序排列,相邻的两个数分为一组,再计算总和。


示例:

Input: [1,4,3,2]Output: 4Explanation: n is 2, and the maximum sum of pairs is 4.


代码:


class Solution {public:    int arrayPairSum(vector<int>& nums) {        int num=0;        //vector排序(升序)        sort(nums.begin(),nums.end());        //求和        for(int i=0;i<nums.size();i+=2)        {            num+=nums[i];        }        return num;    }};
1 0