LeetCode 561 Array Partition I 解题报告

时间:2021-12-07 05:34:59

题目要求

Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1, b1), (a2, b2), ..., (an, bn) which makes sum of min(ai, bi) for all i from 1 to n as large as possible.

题目分析及思路

题目给出一个含2n个整数的数组,要求拆成n对整数对,使得每个整数对的最小值的和最大,并返回这个最大值。可以将数组从小到大进行排序,然后两两组合,这样可以得到最大值。

python代码​

class Solution:

def arrayPairSum(self, nums):

"""

:type nums: List[int]

:rtype: int

"""

nums.sort()

newnums = nums[::2]

sum = 0

for i in newnums:

sum += i

return sum