乘积最大有两种可能:第一种是三个最大的数的乘积,第二种是两个最"大"的负数乘最大的正数,所以先排序然后取上述两种乘积最大一个即可。
class Solution:
def maximumProduct(self, nums: List[int]) -> int:
nums.sort()
return max(nums[-1] * nums[-2] * nums[-3], nums[0] * nums[1] * nums[-1])