题解 | #三个数的最大乘积#

三个数的最大乘积

http://www.nowcoder.com/practice/8ae05c2913fe438b8b14f3968f64fc0b

#
# 最大乘积,存在两种情况:a 3个正数; b 1个正数2个负数
#
class Solution:
    def solve(self , A ):
        max1=max2=max3=float('-inf')
        min1=min2=float('inf') 

        for i in A: 
            if i>max3: 
                if i>max2 and i>max1: max1,max2,max3=i,max1,max2 
                elif i>max2 and i<=max1: max2,max3=i,max2 
                else: max3=i 

            if i<=min1: min1,min2=i,min1
            elif i>min1 and i<min2: min2=i 

        return max(max1*max2*max3,max1*min1*min2)

        # write code here
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务