Array Partition I

    这道题为简单题

  题目:

    

 

  思路:

    其实这道题思路挺简单的,把两个数两两分成一组提取最小数相加,求相加的最大值。我首先会想把列表中最大的数提取出来,但是这是不可能的,因为没有比他更大的数和他组合,所以只能提取倒数第二大的数,那么谁和倒数第二大的数组合呢,显而易见肯定是和最大的那个数组合,以此类推其实就是将这个列表排序,然后每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

 

posted @ 2017-09-21 21:33  唐僧洗发爱飘柔  阅读(88)  评论(0编辑  收藏  举报