leetcode_628. 三个数的最大乘积

目录

一、题目内容

二、解题思路

三、代码


一、题目内容

给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。

示例 1:

输入: [1,2,3]
输出: 6

示例 2:

输入: [1,2,3,4]
输出: 24

注意:

给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。
输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。

二、解题思路

没啥说的,排序后最大乘积要么是最后三个数的乘积,要么是前两个数相乘再乘以最后一个数的乘积(负负得正)。

三、代码

class Solution:
    def maximumProduct(self, nums: list) -> int:
        nums.sort()
        return max(nums[-1] * nums[-2] * nums[-3], nums[0] * nums[1] * nums[-1])


if __name__ == '__main__':
    nums = [1, 2, 3, 4]
    s = Solution()
    ans = s.maximumProduct(nums)
    print(ans)

 

你可能感兴趣的:(leetcode,Python,leetcode,算法,乘积)