LintCode 1119. 三个数的最大乘积 JavaScript算法

描述

给定一个整数数组,找到三个元素,使乘积最大,返回该积。

说明

  • 数组的长度范围为[3, 10^4],所有的元素范围为[-1000, 1000]。
  • 任意三个元素的积不会超过32位有符号整数的范围。

样例

- 样例 1:

输入: [1,2,3]
输出: 6

- 样例 2:

输入: [1,2,3,4]
输出: 24

解析

要考虑负数的情况,负负得正。
两个最大负数和最大正数的乘积与三个最大正数的乘积要进行比较。

maximumProduct=n=>{
     
    l = n.length
    n = n.sort((a,b)=>b-a)
    return Math.max(n[0]*n[1]*n[2],n[l-2]*n[l-1]*n[0])
}

运行结果

LintCode 1119. 三个数的最大乘积 JavaScript算法_第1张图片

LintCode 1119. 三个数的最大乘积 JavaScript算法_第2张图片

你可能感兴趣的:(LintCode,算法,python,数据结构,java,leetcode)