三個數的最大乘積

2021-09-29 07:14:51 字數 924 閱讀 1400

給定乙個整型陣列,在陣列中找出由三個數組成的最大乘積,並輸出這個乘積。

示例 1:

輸入: [1,2,3]

輸出: 6

示例 2:

輸入: [-10,-2,3,5,4]

輸出: 100

注意:

給定的整型陣列長度範圍是[3,104],陣列中所有的元素範圍是[-1000, 1000]。

輸入的陣列中任意三個數的乘積不會超出32位有符號整數的範圍。

方法一(排序法):

首先對陣列進行排序。如果所有的元素都為非負整數,直接返回陣列的末尾三位相乘的結果;

若陣列中存在負數,則需要比較兩位最小的負數與一位最大正數的乘積,返回它們中較大的乙個。

方法二(尋值法):

排序的目的在於找出三個最大值和兩個最小值。我們可以直接找出三個最大、兩個最小值,對它們的乘積進行比較,返回較大值。

//方法一:

class

solution

}

方法二:

class

solution

else

if(temp < min2)

if(temp > max1)

else

if(temp > max2)

else

if(temp > max3)

} result1 = min1 * min2 * max1;

result2 = max1 * max2 * max3;

return result1 > result2 ? result1 : result2;

}}

三個數的最大乘積

給定乙個整型陣列,在陣列中找出由三個數組成的最大乘積,並輸出這個乘積。leetcode鏈結 示例 1 輸入 1,2,3 輸出 6示例 2 輸入 1,2,3,4 輸出 24注意 給定的整型陣列長度範圍是 3,104 陣列中所有的元素範圍是 1000,1000 輸入的陣列中任意三個數的乘積不會超出32位...

三個數的最大乘積

給定乙個整型陣列,在陣列中找出由三個數組成的最大乘積,並輸出這個乘積。示例 1 輸入 1,2,3 輸出 6 示例 2 輸入 1,2,3,4 輸出 24 注意 給定的整型陣列長度範圍是 3,104 陣列中所有的元素範圍是 1000,1000 輸入的陣列中任意三個數的乘積不會超出32位有符號整數的範圍。...

三個數的最大乘積

題目 給定乙個整型陣列,在陣列中找出由三個數組成的最大乘積,並輸出這個乘積。示例 1 輸入 1,2,3 輸出 6 示例 2 輸入 1,2,3,4 輸出 24 解題思路1 先對陣列進行排序,然後發現答案有兩種情況,如果有負數那麼最大乘積可能是前兩最小負數乘以最大正數,前三個最大正數乘積,對這三種情況進...