LC 561. Array Partition I 2017年9月24日19:31:27

class Solution(object):
    def arrayPairSum(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        nums=sorted(nums)
        sums=0
        n=0
        while n<len(nums):
            if n%2==1:
                n+=1
                continue
            elif n%2==0:
                sums+=nums[n]
                n+=1
        return sums


别人的代码:
class Solution(object): def arrayPairSum(self, nums): """ :type nums: List[int] :rtype: int """ return sum(sorted(nums)[::2])

解析:

nums[::2]等价于nums[0::2],即从nums[0]开始,步长为2,逐个选出,组成新list。
比如nums是[1,3,5,8]的时候,这个式子会取出[1,5]

评论

此博客中的热门博文

232. Implement Queue using Stacks

496. Next Greater Element I

20. Valid Parentheses