JZX轻语:简

LeetCode 1877 - 数组中最大数对和的最小值

发表于2026年02月07日

#数组 #贪心

为了能使得最大数对和的值最小,则最优策略就是将最大的数和最小的数凑成一对(不难通过反证法证明),然后再对第二大的数和第二小的数凑成一对(此时它们就是最大和最小的数了)…。使用排序 + 双指针即可。

class Solution {
public:
    int minPairSum(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        int ans = nums.front() + nums.back();
        for (int i = 1; i < nums.size() / 2; ++i) ans = max(ans, nums[i] + nums[nums.size() - 1 - i]);
        return ans;
    }
};

闪念标签:LC

题目链接:https://leetcode.cn/problems/minimize-maximum-pair-sum-in-array