0561. 数组拆分 I

0561. 数组拆分 I #

  • 标签:数组
  • 难度:简单

题目大意 #

给定一个长度为 2n 的整数数组 nums,将数组中的数拆分成 n 对,每对数求最小值,求 n 对数最小值的最大总和是多少。

解题思路 #

要想每对数最小值的总和最大,就得使每对数的最小值尽可能大。只有让较大的数与较大的数一起组合,较小的数与较小的数一起结合,才能才能使总和最大。

我们应该对 nums 进行排序,然后将相邻两个元素的最小值进行相加,即得到结果。

代码 #

1
2
3
4
class Solution:
    def arrayPairSum(self, nums: List[int]) -> int:
        nums.sort()
        return sum(nums[::2])
本站总访问量  次  |  您是本站第  位访问者