1. 程式人生 > >求解無序陣列中三個數的最大乘積 (python實現)

求解無序陣列中三個數的最大乘積 (python實現)

# -*- coding:utf-8 -*-
# 求解無序陣列中三個數的最大乘積:
#   (max1 * max2 * max3) 與 (max * min1 * min2) 兩者中的較大者
arr = [2, 0, 5, -3, -7, 4, -9]

arr.sort(reverse=True)

length = len(arr)
possible1 = arr[0] * arr[1] * arr[2]
possible2 = arr[0] * arr[length-1] * arr[length-2]
print max(possible1, possible2)