lintcode入门篇十七
1119. 三个数的最大乘积
中文English
给定一个整数数组,找到三个元素,使乘积最大,返回该积。
样例
样例 1:
输入: [1,2,3]
输出: 6
样例 2:
输入: [1,2,3,4]
输出: 24
注意事项
- 数组的长度范围为
[3, 10^4]
,所有的元素范围为[-1000, 1000]
。 - 任意三个元素的积不会超过32位有符号整数的范围。
class Solution: """ @param nums: an integer array @return: the maximum product """ ''' 大致思路: 1.依次给出第一大第二大第三大的值,每次remove掉一个,然后return 2.因为还存在负数,所以需要考虑负数和负数相乘的最大乘积 ''' def maximumProduct(self,nums): return max(sorted(nums)[-1]*sorted(nums)[-2]*sorted(nums)[-3],sorted(nums)[0]*sorted(nums)[1]*sorted(nums)[-1])