1. 程式人生 > >Array Partition I

Array Partition I

lis 取出 bject alt object def urn 最小 air

    這道題為簡單題

  題目:

    技術分享

  思路:

    其實這道題思路挺簡單的,把兩個數兩兩分成一組提取最小數相加,求相加的最大值。我首先會想把列表中最大的數提取出來,但是這是不可能的,因為沒有比他更大的數和他組合,所以只能提取倒數第二大的數,那麽誰和倒數第二大的數組合呢,顯而易見肯定是和最大的那個數組合,以此類推其實就是將這個列表排序,然後每2個元素相加就行了

  代碼:

    

 1 class Solution(object):
 2     def arrayPairSum(self, nums):
 3         """
 4         :type nums: List[int]
5 :rtype: int 6 """ 7 m = 0 8 nums.sort() 9 for i in range(0, len(nums), 2): 10 m += nums[i] 11 return m

Array Partition I