呓语Beta 2.0 首页 镜头后 灶台前 捐赠者名单 有趣的小站

leetcode 628 Maximum Product Of Three Numbers

文档信息

leetcode 628 Maximum Product Of Three Numbers

解法一:

class Solution(object):
    def maximumProduct(self, nums):
    """
    :type nums: List[int]
    :rtype: int
    """
    s = sorted(nums)[::-1]
    if s[2] > 0:
        return s[0]*(max(s[1]*s[2], s[-1]*s[-2]))
    elif s[2] <= 0:
        return s[0]*s[-1]*s[-2]
    elif s[1] <= 0:
        return s[0]*s[-1]*s[-2]
    elif s[0] <= 0:
        return s[0]*s[1]*s[2]

note

优化解法一:

class Solution(object):
    def maximumProduct(self, nums):
    """
    :type nums: List[int]
    :rtype: int
    """
    s = sorted(nums, reverse=True)
    if s[2] > 0:
        return s[0]*max(s[1]*s[2], s[-1]*s[-2])
    elif s[0] <= 0:
        return s[0]*s[1]*s[2]
    else:
        return s[0]*s[-1]*s[-2]

note

付费支持

由于本网站没有广告和任何形式的收入来源,希望获得您的资助。每篇技术性文章和每期shellcasts视频定价人民币1元,在您付费后可以任意观看和下载。

可以使用支付宝手机钱包扫描下方的二维码进行付款操作或者用支付宝转帐给richard.ma.19850509@gmail.com,谢谢!

Fork me on GitHub