数组拆分 I
给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。
示例 1:
输入: [1,4,3,2]
输出: 4
解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).
解题思路:
本题实际上就是先对列表按从小到大排序,然后再取下标为偶数元素的和
参考代码:
class Solution:
def arrayPairSum(self, nums):
list1 = []
nums1 = sorted(nums) #用sorted函数得到一个全新排序后的列表
for i in range(0,len(nums1),2):
list1.append(nums1[i])
return sum(list1)