Leetcode_561_Array
2017-12-01 本文已影响7人
转身丶即天涯
image.png
题目大致意思:
给定一个由2n个整数组成的数组,你的任务是将这些整数分成2个一组,例如(a1,b1),(a2,b2)...(an,bn)等等。
使索引i从1到n的min(ai,bi)尽可能大。
思路:
先把数组排序,可是使用python内建函数sorted(),现在list就变成了从小到大排列的升序列表。
因为要取相邻两个数的最小值,每组数中的最左边的数就是最小值,可以使用list的切片属性,每隔一个数取一个[::2]
最后使用list的求和函数sum()求和。
python code
def solution(nums):
'''
nums: List[int]
rtype: int
'''
return sum(sorted(nums)[::2])
integerArray = [1, 4, 3, 2]
result = solution(integerArray)
print(result)