三个数的最大乘积
给你一个整型数组
nums
,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:
输入:nums = [1,2,3] 输出:6
这题的难点在于负数的存在,如果有两个负数且绝对值比正数大,那么负数更合适,边界条件最开始没考虑到
解法:先排序,再返回值,用了Math函数
class Solution {
public int maximumProduct(int[] nums) {
int n = nums.length;
Arrays.sort(nums);
return Math.max(nums[0] * nums[1] * nums[n - 1] ,nums[n -1] * nums[n -2] * nums[n - 3]);
}
}