文章目录

  • 1. 题目
  • 2. 解题

1. 题目

一个数对 (a,b)数对和 等于 a + b 。最大数对和 是一个数对数组中最大的 数对和 。

比方说,如果我们有数对 (1,5) ,(2,3) 和 (4,4),最大数对和 为 max(1+5, 2+3, 4+4) = max(6, 5, 8) = 8
给你一个长度为 偶数 n 的数组 nums ,请你将 nums 中的元素分成 n / 2 个数对,使得:

  • nums 中每个元素 恰好 在 一个 数对中,且
  • 最大数对和 的值 最小

请你在最优数对划分的方案下,返回最小的 最大数对和 。

示例 1:
输入:nums = [3,5,2,3]
输出:7
解释:数组中的元素可以分为数对 (3,3) 和 (5,2) 。
最大数对和为 max(3+3, 5+2) = max(6, 7) = 7 。示例 2:
输入:nums = [3,5,4,2,4,6]
输出:8
解释:数组中的元素可以分为数对 (3,5),(4,4) 和 (6,2) 。
最大数对和为 max(3+5, 4+4, 6+2) = max(8, 8, 8) = 8 。提示:
n == nums.length
2 <= n <= 10^5
n 是 偶数 。
1 <= nums[i] <= 10^5

https://leetcode-cn.com/contest/biweekly-contest-53/problems/minimize-maximum-pair-sum-in-array/

2. 解题

  • 假设 a < b < c < d,只有在 a+d, b+c 的情况下,才可能取得最小的 最大数对和
  • 贪心,排序,首尾相加,取最大
class Solution {public:int minPairSum(vector<int>& nums) {int n = nums.size(), ans = INT_MIN;sort(nums.begin(), nums.end());for(int i = 0; i < n/2; ++i){ans = max(ans, nums[i]+nums[n-1-i]);}return ans;}
};

256 ms 94 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 1877. 数组中最大数对和的最小值(贪心)相关推荐

  1. 文巾解题 1877. 数组中最大数对和的最小值

    1 题目描述 2 解题思路 对数组进行排序,第k大的和倒数第k大的组成一个数对 class Solution:def minPairSum(self, nums: List[int]) -> i ...

  2. C语言实例第4期:交换数组中最大数和最小数的位置

    C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C ...

  3. angularjs 元素重复指定次数_[LeetCode] 442. 数组中重复的数据

    [LeetCode] 442. 数组中重复的数据 题目链接: https://leetcode-cn.com/problems/find-all-duplicates-in-an-array 难度:中 ...

  4. C语言编程>第二十周 ② 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。

    例题:下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调.次最大数和b[1]中的数对调. 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构. ...

  5. 如何快速找出一个数组中最大数和第二大数

    看到一道题是:快速找出一个数组中最大数和第二大数. 我之前学了一些数组排序,例如冒泡排序,简单选择排序等等,然后我就想可不可以利用冒泡排序来实现呢?之前写过冒泡排序实现从小到大的排列,那么可以改成从大 ...

  6. ⭐算法入门⭐《哈希表》中等05 —— LeetCode 215. 数组中的第K个最大元素

    文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述   给定整数数组nums和 ...

  7. 5940. 从数组中移除最大值和最小值

    5940. 从数组中移除最大值和最小值 给你一个下标从 0 开始的数组 nums ,数组由若干 互不相同 的整数组成. nums 中有一个值最小的元素和一个值最大的元素.分别称为 最小值 和 最大值 ...

  8. 查找对象数组中某属性的最大最小值

    查找对象数组中某属性的最大最小值的快捷方法 例如要查找array数组中对象的value属性的最大值,这里记为maxVal var array=[{"index_id": 119,& ...

  9. vector删除第i个元素_[LeetCode] 215. 数组中的第K个最大元素

    题目链接:https://leetcode-cn.com/problems/kth-largest-element-in-an-array/) 题目描述: 在未排序的数组中找到第 k 个最大的元素.请 ...

最新文章

  1. Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
  2. c语言求方程组的自然数解,多元一次线性方程自然数解的算法解决办法
  3. BUUCTF(pwn)护网杯_2018_gettingstart
  4. RMAN SET NEWNAME
  5. 认知计算机语言学,什么是认知语言学
  6. 哪个计算机无法做到双屏显示,怎么启用双屏显示设置【图文介绍】
  7. Django官方文档翻译——Django中的用户身份验证(User authentication in Django)
  8. 2020牛客多校训练3 G Operating on a Graph(并查集+链式结构)
  9. Android 系统签名jks文件获取platform.jks
  10. kuangbin 莫队专题
  11. A。资源库和运行时表结构(5)---JBPM4.4数据库表解释
  12. 基于量子计算的md5密码哈希破解方法
  13. 考研英语(四)——名词性从句
  14. 专访李果:初生牛犊不怕虎的移动创业者
  15. 问题 B: 零基础学C/C++25——判断某整数是正整数、负整数还是零
  16. swift转场动画_Swift游乐场的演变
  17. 一键彻底关闭WIN10自动更新_BlockWin10AU
  18. 数据结构栈的操作,初始化栈,进栈,出栈,读取栈顶元素;
  19. C语言怎么打出泊松分布随机数,泊松分布随机数
  20. 《Domain Agnostic Learning with Disentangled Representations》代码

热门文章

  1. 企业网站 源码 服务邮箱:_公司企业邮箱购买,外贸企业邮箱用哪家服务好?
  2. ubuntu17.04之apt-get源
  3. vuex的命名空间有哪些_Vuex在vue路由器中访问命名空间模块的getter
  4. Django中的F对象和Q对象
  5. Flask-SQLAlchemy 中如何不区分大小写查询?
  6. iOS当中的设计模式
  7. ios手机 php无法上传文件,【已解决】uni.uploadFile 苹果ios图片上传不成功
  8. 添加WCF服务引用失败解决办法
  9. 对图片进行压缩,水印,伸缩变换,透明处理,格式转换操作
  10. 【bzoj2806】 Ctsc2012—Cheat