python
class Solution:
def maximumProduct(self, nums: List[int]):
nums = sorted(nums)
tmp = nums[-3:]
if 0 in tmp:
if tmp[0] == 0 or tmp[1] == 0:
res = nums[0]*nums[1]*nums[-1]
else:
res = 0
else:
if tmp[0] > 0:
res = max(nums[0]*nums[1]*nums[-1], tmp[0]*tmp[1]*tmp[2])
elif tmp[-1] < 0:
res = nums[-3]*nums[-2]*nums[-1]
else:
res = nums[0]*nums[1]*nums[-1]
return res