数组拆分排序

给定长度为 2n ****的整数数组 nums ,你的任务是将这些数分成 n ****对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从 1nmin(ai, bi) 总和最大。

返回该 最大总和

scss 复制代码
输入: nums = [1,4,3,2]
输出: 4
解释: 所有可能的分法(忽略元素顺序)为:
1. (1, 4), (2, 3) -> min(1, 4) + min(2, 3) = 1 + 2 = 3
2. (1, 3), (2, 4) -> min(1, 3) + min(2, 4) = 1 + 2 = 3
3. (1, 2), (3, 4) -> min(1, 2) + min(3, 4) = 1 + 3 = 4
所以最大总和为 4
ini 复制代码
class Solution {
    public int arrayPairSum(int[] nums) {
        Arrays.sort(nums);
        int ans=0;
        for(int i=0;i<nums.length;i+=2){
            ans+=nums[i];
        }
        return ans;
    }
}

相关推荐
阿苟3 分钟前
JAVA重点难点
后端
uzong12 分钟前
TIOBE 指数:2026 年编程语言排行榜
后端
ja哇13 分钟前
大厂面试高频八股
java·面试·职场和发展
小村儿19 分钟前
连载06 - Hooks 源码深度解析:Claude Code 的确定性自动化体系
前端·后端·ai编程
旖-旎20 分钟前
深搜练习(电话号码字母组合)(3)
c++·算法·力扣·深度优先遍历
谭欣辰23 分钟前
C++快速幂完整实战讲解
算法·决策树·机器学习
Mr_pyx27 分钟前
【LeetHOT100】随机链表的复制——Java多解法详解
算法·深度优先
用户83562907805136 分钟前
使用 Python 设置 Excel 数据验证
后端·python
yoyo_zzm38 分钟前
Laravel6.x新特性全解析
java·spring boot·后端
AIFarmer44 分钟前
【无标题】
开发语言·c++·算法