数组拆分排序

给定长度为 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;
    }
}

相关推荐
这不小天嘛5 小时前
JAVA八股——J集合篇
java·开发语言
ysu_03145 小时前
05 | 持久化撤销提示非核心功能
算法·游戏程序
浮沉9876 小时前
二分查找算法概述&通用模板
算法
Keven_117 小时前
算法札记:SPFA判负环算法的证明
算法
什巳7 小时前
JAVA练习278- 和为 K 的子数组
java·学习·算法·leetcode
豆瓣鸡8 小时前
RocketMQ学习-Spring Boot消息实践
java·spring boot·rocketmq
Jerry8 小时前
LeetCode 347. 前 K 个高频元素
算法
wuqingshun3141598 小时前
说一下mysql的覆盖索引
java