題目:三個數的最大乘積
給定一個整型陣列,在陣列中找出由三個陣列成的最大乘積,並輸出這個乘積。
複製程式碼
示例:
輸入: [1,2,3]
輸出: 6
輸入: [1,2,3,4]
輸出: 24
複製程式碼
思考:
最大乘積的三個數可能有兩種情況:
1.最大的三個正數相乘。
2.最小兩個負數相乘再乘上最大的整數。
所以先將陣列排序,然後按以上條件取兩種情況之中較大的數。
複製程式碼
實現:
class Solution {
public int maximumProduct(int[] nums) {
Arrays.sort(nums);
return Math.max(nums[0] * nums[1] * nums[nums.length - 1], nums[nums.length - 1] * nums[nums.length - 2] * nums[nums.length - 3]);
}
}複製程式碼