給你一個整型數組 nums ,在數組中找出由三個數組成的最大乘積,并輸出這個乘積。
?
示例 1:
輸入:nums = [1,2,3]
輸出:6
示例 2:
輸入:nums = [1,2,3,4]
輸出:24
示例 3:
輸入:nums = [-1,-2,-3]
輸出:-6
?
提示:
3 <= nums.length <=?104
-1000 <= nums[i] <= 1000
思路:
有三個以上正數:三大
有兩個正數:兩小一大
有一個正數:兩小一大
沒正數:三大
(大就是最大的數、第二大的數等。小就是最小和第二小等)
所以兩種選法:三大或者兩小一大,一定會有答案
class Solution(object):def maximumProduct(self, nums):nums.sort()return max(nums[-1]*nums[-2]*nums[-3],nums[0]*nums[1]*nums[-1])
?