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

返回该 最大总和 。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/array-partition
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

python3解法,跳出组合的枷锁,直接排序,隔n相加。

class Solution:
    def arrayPairSum(self, nums: List[int]) -> int:
        # 先排序,隔着n直接加
        nums.sort()
        return sum(nums[::2])
LeetCode 561.数组拆分插图
561.数组拆分

作者 admin

发表回复

您的电子邮箱地址不会被公开。