当前位置:网站首页>力扣561. 数组拆分
力扣561. 数组拆分
2022-08-03 04:56:00 【洋圏外の彼女】
给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。
返回该 最大总和 。
示例 1:
输入:nums = [1,4,3,2]
输出:4
解释:所有可能的分法(忽略元素顺序)为:
- (1, 4), (2, 3) -> min(1, 4) + min(2, 3) = 1 + 2 = 3
- (1, 3), (2, 4) -> min(1, 3) + min(2, 4) = 1 + 2 = 3
- (1, 2), (3, 4) -> min(1, 2) + min(3, 4) = 1 + 3 = 4 所以最大总和为 4
示例 2:
输入:nums = [6,2,6,5,1,2]
输出:9
解释:最优的分法为 (2, 1), (2, 5), (6, 6). min(2, 1) + min(2, 5) + min(6, 6) = 1 + 2 + 6 = 9
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/array-partition
对于nums数组拆分的n对[a,b]数组中,选择a,b之间小的一个数字,相加得到一个最大的总和
第一个示例我们可以看出,是可以先将nums数组进行排序
我们将nums数组分为了(nums[0],nums[1]) = (1,2);
(nums[2],nums[3]) = (3,4)
两对,并且选择了1+3的带最大的总和;
也就是nums[0]+nums[2];
第二个示例,也可以先将数组进行排序[1,2,2,5,6,6]
而最大的总和是nums[0]+nums[2]+nums[4] = 1+2+6=9
代码
class Solution {
public int arrayPairSum(int[] nums) {
Arrays.sort(nums);
int sum = 0;
//从第一个开始,每隔一个在加
for(int i=0;i<nums.length;i=i+2){
sum = sum +nums[i];
}
return sum;
}
}
边栏推荐
- 自组织是管理者和成员的双向奔赴
- 【开发者必看】【push kit】推送服务服务典型问题合集2
- typescript45-接口之间的兼容性
- shell脚本循环语句
- 在线密码生成工具推荐
- 【Harmony OS】【ArkUI】ets开发 基础页面布局与数据连接
- 内部类、static关键字、final
- Peptides mediated PEG DSPE of phospholipids, targeted functional materials - PEG - RGD/TAT/NGR/APRPG
- Common fluorescent dyes to modify a variety of groups and its excitation and emission wavelength data in the data
- 数字化时代,企业如何建立自身的云平台与商业模式的选择?
猜你喜欢
idea使用@Autowired注解爆红原因及解决方法
[Harmony OS] [ArkUI] ets development graphics and animation drawing
【生物素叠氮化物|cas:908007-17-0】价格_厂家
MySQL 入门:Case 语句很好用
Common fluorescent dyes to modify a variety of groups and its excitation and emission wavelength data in the data
接口管理工具YApi怎么用?颜值高、易管理、超好用
typescript49-交叉类型
Talking about GIS Data (6) - Projected Coordinate System
【Harmony OS】【ARK UI】ets use startAbility or startAbilityForResult to invoke Ability
BIOTIN ALKYNE CAS:773888-45-2价格,供应商
随机推荐
Talking about GIS Data (6) - Projected Coordinate System
Redis缓存雪崩、缓存穿透、缓存击穿
typescript41-class类的私有修饰符
Shell条件语句判断
MySQL 入门:Case 语句很好用
接口测试框架实战(二)| 接口请求断言
RequestContextHolder
如何利用 Flutter 实现炫酷的 3D 卡片和帅气的 360° 展示效果
「短视频+社交电商」营销模式爆发式发展,带来的好处有什么?
CAD有生僻字如何打出来、如何提交软件相关问题或建议?
8.电影评论分类:二分类问题
2022暑假牛客多校联赛第一场
表的创建、修改与删除
typescript42-readonly修饰符
设计模式——组合模式、享元模式(Integer缓存)(结构型模式)
StarRocks July Community Update
常见荧光染料修饰多种基团及其激发和发射波长数据一览数据
测试人员的价值体现在哪里
DFS对剪枝的补充
【Biotin Azide|cas:908007-17-0】Price_Manufacturer