LeetCode 561 Array Partition I 解题报告

题目要求

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

        

posted on 2019-01-28 10:18  锋上磬音  阅读(107)  评论(0编辑  收藏  举报