LeetCode 1877. 数组中最大数对和的最小值(贪心)
文章目录
- 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. 数组中最大数对和的最小值(贪心)相关推荐
- 文巾解题 1877. 数组中最大数对和的最小值
1 题目描述 2 解题思路 对数组进行排序,第k大的和倒数第k大的组成一个数对 class Solution:def minPairSum(self, nums: List[int]) -> i ...
- C语言实例第4期:交换数组中最大数和最小数的位置
C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C ...
- angularjs 元素重复指定次数_[LeetCode] 442. 数组中重复的数据
[LeetCode] 442. 数组中重复的数据 题目链接: https://leetcode-cn.com/problems/find-all-duplicates-in-an-array 难度:中 ...
- C语言编程>第二十周 ② 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。
例题:下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调.次最大数和b[1]中的数对调. 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构. ...
- 如何快速找出一个数组中最大数和第二大数
看到一道题是:快速找出一个数组中最大数和第二大数. 我之前学了一些数组排序,例如冒泡排序,简单选择排序等等,然后我就想可不可以利用冒泡排序来实现呢?之前写过冒泡排序实现从小到大的排列,那么可以改成从大 ...
- ⭐算法入门⭐《哈希表》中等05 —— LeetCode 215. 数组中的第K个最大元素
文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述 给定整数数组nums和 ...
- 5940. 从数组中移除最大值和最小值
5940. 从数组中移除最大值和最小值 给你一个下标从 0 开始的数组 nums ,数组由若干 互不相同 的整数组成. nums 中有一个值最小的元素和一个值最大的元素.分别称为 最小值 和 最大值 ...
- 查找对象数组中某属性的最大最小值
查找对象数组中某属性的最大最小值的快捷方法 例如要查找array数组中对象的value属性的最大值,这里记为maxVal var array=[{"index_id": 119,& ...
- vector删除第i个元素_[LeetCode] 215. 数组中的第K个最大元素
题目链接:https://leetcode-cn.com/problems/kth-largest-element-in-an-array/) 题目描述: 在未排序的数组中找到第 k 个最大的元素.请 ...
最新文章
- Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
- c语言求方程组的自然数解,多元一次线性方程自然数解的算法解决办法
- BUUCTF(pwn)护网杯_2018_gettingstart
- RMAN SET NEWNAME
- 认知计算机语言学,什么是认知语言学
- 哪个计算机无法做到双屏显示,怎么启用双屏显示设置【图文介绍】
- Django官方文档翻译——Django中的用户身份验证(User authentication in Django)
- 2020牛客多校训练3 G Operating on a Graph(并查集+链式结构)
- Android 系统签名jks文件获取platform.jks
- kuangbin 莫队专题
- A。资源库和运行时表结构(5)---JBPM4.4数据库表解释
- 基于量子计算的md5密码哈希破解方法
- 考研英语(四)——名词性从句
- 专访李果:初生牛犊不怕虎的移动创业者
- 问题 B: 零基础学C/C++25——判断某整数是正整数、负整数还是零
- swift转场动画_Swift游乐场的演变
- 一键彻底关闭WIN10自动更新_BlockWin10AU
- 数据结构栈的操作,初始化栈,进栈,出栈,读取栈顶元素;
- C语言怎么打出泊松分布随机数,泊松分布随机数
- 《Domain Agnostic Learning with Disentangled Representations》代码
热门文章
- 企业网站 源码 服务邮箱:_公司企业邮箱购买,外贸企业邮箱用哪家服务好?
- ubuntu17.04之apt-get源
- vuex的命名空间有哪些_Vuex在vue路由器中访问命名空间模块的getter
- Django中的F对象和Q对象
- Flask-SQLAlchemy 中如何不区分大小写查询?
- iOS当中的设计模式
- ios手机 php无法上传文件,【已解决】uni.uploadFile 苹果ios图片上传不成功
- 添加WCF服务引用失败解决办法
- 对图片进行压缩,水印,伸缩变换,透明处理,格式转换操作
- 【bzoj2806】 Ctsc2012—Cheat