给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。
示例 1:
输入: [1,2,3]
输出: 6
示例 2:
输入: [1,2,3,4]
输出: 24
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/maximum-product-of-three-numbers
分为该数组包含负数及不包含负数两种情况
先将原数组排序,返回的最大值仅有可能是最大的三个数乘积或最小的两个负数乘积再乘上最大的数,所以代码很简单:
class Solution:
def maximumProduct(self, nums: List[int]) -> int:
nums.sort()
a = nums[-1]*nums[-2]*nums[-3]
b = nums[0]*nums[1]*nums[-1]
return a if a > b else b