码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode_628. 三个数的最大乘积

时间:2021-02-15 11:53:07      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:链接   nbsp   联系   网络   个数   imu   授权   lis   负数   

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

 

示例 1:

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

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

输入:nums = [-1,-2,-3]
输出:-6
 

提示:

3 <= nums.length <= 104
-1000 <= nums[i] <= 1000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/maximum-product-of-three-numbers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。****
class Solution:
    def maximumProduct(self, nums: List[int]) -> int:
        nums.sort()
        n=len(nums)
        t=-1
        #寻找大于等于0的位置
        for i in range(n):
            if nums[i]>=0:
                t=i
                break
        if n==3:#只有3个数
            return nums[0]*nums[1]*nums[2]
        if t==-1:
            #全是负数
            return nums[-1]*nums[-2]*nums[-3]
        elif t==n-1:
            #一个正数或0
            return nums[-1]*nums[0]*nums[1]
        #elif t==n-2:
            #两个正数或0
        #    return max(nums[-1]*nums[-2]*nums[-3],nums[-1]*nums[0]*nums[1])
        else:#两个正数或以上
             return max(nums[-1]*nums[-2]*nums[-3],nums[-1]*nums[0]*nums[1])

leetcode_628. 三个数的最大乘积

标签:链接   nbsp   联系   网络   个数   imu   授权   lis   负数   

原文地址:https://www.cnblogs.com/hqzxwm/p/14396116.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!