力扣刷题日记-628-三个数的最大乘积

152 阅读1分钟

思路: 主要是存在负数, 负数的话,最小的两个负数相乘变成整数,再跟最大的正数相乘就可以得到一个比较大的数,然后找出最大的三个数的乘积,这两个乘积谁大就是谁了.

/**
 * @param {number[]} nums
 * @return {number}
 */
var maximumProduct = function(nums) {
    let n = nums.length
    nums.sort((a,b) => a - b)
   return Math.max(nums[0] * nums[1] * nums[n - 1], nums[n - 1] * nums[n - 2] * nums[n - 3])
};