美文网首页
[LeetCode]561. Array Partition I

[LeetCode]561. Array Partition I

作者: Eazow | 来源:发表于2017-04-28 16:18 被阅读346次
    题目

    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.

    Example 1:

    Input: [1,4,3,2]
    Output: 4
    Explanation: n is 2, and the maximum sum of pairs is 4.
    

    **Note: **

    1. n is a positive integer, which is in the range of [1, 10000].
    2. All the integers in the array will be in the range of [-10000, 10000].
    方法

    对数组排序,两两一组,取每组的第一个数求和。

    python代码
    class Solution(object):
        def arrayPairSum(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            nums.sort()
            i = 0
            sum = 0
            while i < len(nums):
                sum += nums[i]
                i += 2
            return sum
    
    assert Solution().arrayPairSum([1,4,3,2])==4
    

    相关文章

      网友评论

          本文标题:[LeetCode]561. Array Partition I

          本文链接:https://www.haomeiwen.com/subject/fzqazttx.html