思路在与,如果全部是正数,那就是最大的三位数,如果有负数,最小的两位负数和最大正数乘积和最大的三位正数乘积比较大小
class Solution {
public int maximumProduct(int[] nums) {
Arrays.sort(nums);
int max = 0;
if (nums[0] > 0){
max = nums[nums.length - 1] *nums[nums.length - 2] * nums[nums.length - 3];
} else if (nums[0] * nums[1] *nums[nums.length-1]>nums[nums.length - 1] *nums[nums.length - 2] * nums[nums.length - 3]) {
max = nums[0] * nums[1] *nums[nums.length-1];
}else{
max = nums[nums.length - 1] *nums[nums.length - 2] * nums[nums.length - 3];
}
return max;
}
}
本文介绍了一个算法问题,即从整数数组中选择三个元素使它们的乘积最大化的方法。通过排序数组并比较最大正数与最小负数的乘积来找到最佳组合。
654

被折叠的 条评论
为什么被折叠?



