第十七天 Array Partition I

不知不觉,已经十七天了
刷起水题,果然日子都快了很多

https://leetcode-cn.com/submissions/detail/6613451/

数组的分组,这道题也是开始有点唬人,但其实想明白了很简单

将数组两两分组,取出每个分组里较小的那个,然后求和,需要让这个和最大。

那么举个例子 [1,444,888,3]
这里,如果把1和444分成一组,888和3分成一组,那么这个和只能是4,但如果是把444和888放到一组,这个和就是445。再深想一步,其实就是把数组先排个序,然后取奇数位的和即可。

因为还是对Python没啥更深的感觉,方法用的有点笨拙。

class Solution:
    def arrayPairSum(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        nums.sort()
        ret = 0
        for i in range(0,len(nums),2):
            ret += nums[i]
        return ret

其实可以有一种更简单明了的方法:

class Solution:
    def arrayPairSum(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        nums.sort()
        return sum(nums[::2])

道理是一样的咯,还是要能写出跟Pythonic的代码呀

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 【1】7,9,-1,5,( ) A、4;B、2;C、-1;D、-3 分析:选D,7+9=16;9+(-1)=8;(...
    Alex_bingo阅读 19,663评论 1 19
  • 只管努力,剩下交给时间, 撑下去,就有后来的一切。 控制自己的思想,行为,时间!!!!
    我本昆仑山上的石头阅读 1,531评论 0 0
  • 一趟列车从始发站开往终点站,无论途中经过多少个站点,无一例外都会再返回原点。倘若我就像这趟列车,那么我回来了。 这...
    enjoy海浪阅读 3,315评论 8 5
  • 人生贵在一只鸡,不对,是一知己。而我却有很多很多不同性格,不同年龄的知己…… 这一生谢谢有这么多的信任与陪伴,...
    馨书恩特Ting阅读 1,337评论 0 0

友情链接更多精彩内容