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)
上一篇下一篇

猜你喜欢

热点阅读