SOURCE

// 因为有负数的出现 有两种结果构成最大乘数
// 三个最大正数相乘
// 一个最大正数和两个最小负数相乘
// 将数组排序后 将上述两种情况都进行计算 比较两者结果大小就可求出最大值
var maximumProduct = function(nums) {
    let len = nums.length;
    nums.sort((a, b) => {return b - a;});
    let max1 = nums[0] * nums[1] * nums[2];
    let max2 = nums[0] * nums[len-1] * nums[len-2];
    return max1 >= max2 ? max1 : max2;
};
console 命令行工具 X clear

                    
>
console