561.数组拆分I
思路:给定一个含有2n数组,两两配对取最小值,然后最小值之和最大。想要最小值之和最大,就得保证每一组得损失最小,即两个数之间得值最小。综上,排序数组,计数奇数位上的和即为所求
class Solution {
public:
int arrayPairSum(vector<int>& nums) {
int sum=0;
sort(nums.begin(),nums.end());
for (int i=0; i!=nums.size(); i+=2) {
sum+=nums[i];
}
return sum;
}
};
讨论区
[https://leetcode.com/problems/array-partition-i/discuss/]

浙公网安备 33010602011771号