zoukankan      html  css  js  c++  java
  • 561. 数组拆分 I

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

    示例 1:

    输入: [1,4,3,2]
    
    输出: 4
    解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).
    

    提示:

    1. n 是正整数,范围在 [1, 10000].
    2. 数组中的元素范围在 [-10000, 10000].
     
    class Solution {
        public int arrayPairSum(int[] nums) {
            Arrays.sort(nums);
            int p1 = nums.length - 2;
            int p2 = nums.length - 1;
            int sum = 0;
            while(p1>=0){
                sum += Math.min(nums[p1],nums[p2]);
                p1 = p1 - 2;
                p2 = p2 - 2;
            }
            return sum;
        }
    }
  • 相关阅读:
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
    PHP中foreach用法详细讲解
  • 原文地址:https://www.cnblogs.com/czsy/p/10960799.html
Copyright © 2011-2022 走看看