【力扣-每日小练】628. 三个数的最大乘积(python)

628. 三个数的最大乘积

题目链接:https://leetcode-cn.com/problems/maximum-product-of-three-numbers/
难度:简单
标签:数组(array)

题目描述

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

示例

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

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

注意:

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

代码示例

class Solution:
    def maximumProduct(self, nums: List[int]) -> int:
        # 先对nums排序,下面是升序
        nums.sort()
        # 最大三个数, 要么都是正数, 要么是两个负数+一个正数
        a = nums[-1] * nums[-2] * nums[-3]
        b = nums[0] * nums[1] * nums[-1]
        return a if a > b else b

【力扣-每日小练】628. 三个数的最大乘积(python)_第1张图片

你可能感兴趣的:(力扣练习-简单)