1877: 数组中最大数对和的最小值
结论:把最小的数和最大的数配对,把第二小的数和第二大的数配对,依此类推。注意题目保证 n 是偶数。
证明:
设 nums 排序后的结果为 a1≤a2≤⋯≤an。

这意味着,对于任意最优配对方案,将其调整为 a1和 an 配对,不会让++最大数对和++变得更大。所以存在最优配对方案,其中 a1和 an 是配对的。
去掉 a1 和 an(已配对),问题变成一个规模更小的子问题(n−2 个数),同理可得其他数的配对方式。
class Solution {
public:
int minPairSum(vector<int>& nums) {
ranges::sort(nums);
int n=nums.size();
int ans=0;
for(int i=0;i<n/2;i++){
ans=max(ans,nums[i]+nums[n-1-i]);
}
return ans;
}
};