leetcode 1877

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;
    }
};
相关推荐
睡不醒的kun2 小时前
定长滑动窗口-基础篇(2)
数据结构·c++·算法·leetcode·职场和发展·滑动窗口·定长滑动窗口
庄小焱2 小时前
【机器学习】——房屋销售价格预测实战
人工智能·算法·机器学习·预测模型
txzrxz2 小时前
单调栈详解(含题目)
数据结构·c++·算法·前缀和·单调栈
AI科技星3 小时前
张祥前统一场论的数学表述与概念梳理:从几何公设到统一场方程
人工智能·线性代数·算法·机器学习·矩阵·数据挖掘
程序员-King.3 小时前
day167—递归—二叉树的直径(LeetCode-543)
算法·leetcode·深度优先·递归
亲爱的非洲野猪3 小时前
2动态规划进阶:背包问题详解与实战
算法·动态规划·代理模式
YH12312359h3 小时前
战斗机目标检测与跟踪:YOLOv26算法详解与应用
算法·yolo·目标检测
芒克芒克3 小时前
LeetCode 134. 加油站(O(n)时间+O(1)空间最优解)
java·算法·leetcode·职场和发展
TracyCoder1234 小时前
LeetCode Hot100(4/100)——283. 移动零
算法·leetcode