一、问题描述
给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。
示例 1:
输入: [1,2,3] 输出: 6
示例 2:
输入: [1,2,3,4] 输出: 24
注意:
二、代码与思路
这里使用了一个比较蠢的方法0.0(如果想乘的元素较多就不适合用这个方法),即先将数组排序,我们假设数组够长,那么可能数组最左边三个是绝对值比较大的三个负数,数组最大值肯定要求正数,那么则有两种可能:取最右边三个或者最左边两个乘最右边一个 ,最后比较这两种情况取最大值即为所要求的值
class Solution(object):
def maximumProduct(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
nums.sort()
max_value1=nums[-3]*nums[-2]*nums[-1]
max_value2=nums[0]*nums[1]*nums[-1]
return max(max_value1,max_value2)
三、运行结果(本方法的运行效果还OK)