#
# 最大乘积,存在两种情况: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 
京公网安备 11010502036488号