給定一個(gè)整型數(shù)組岩齿,在數(shù)組中找出由三個(gè)數(shù)組成的最大乘積头遭,并輸出這個(gè)乘積寓免。
示例 1:
輸入: [1,2,3]
輸出: 6
示例 2:
輸入: [1,2,3,4]
輸出: 24
注意:
給定的整型數(shù)組長(zhǎng)度范圍是[3,104],數(shù)組中所有的元素范圍是[-1000, 1000]计维。
輸入的數(shù)組中任意三個(gè)數(shù)的乘積不會(huì)超出32位有符號(hào)整數(shù)的范圍袜香。
解
對(duì)數(shù)組進(jìn)行排序,然后需要考慮存在負(fù)數(shù)的情況鲫惶,所以需要返回最后3個(gè)數(shù)的乘積同第1困鸥、2最后一個(gè)數(shù)乘積的最大值作為最終結(jié)果。
public static int maximumProduct(int[] nums) {
if(nums.length<2)
return 0;
Arrays.sort(nums);
return Math.max(nums[nums.length-1]*nums[nums.length-2]*nums[nums.length-3],nums[nums.length-1]*nums[0]*nums[1]);
}