- Given an integer array, find three numbers whose product is maximum and output the maximum product.
Example 1:
Input: [1,2,3]
Output: 6
Example 2:
Input: [1,2,3,4]
Output: 24
Note:
The length of the given array will be in range [3,10] and all elements are in the range [-1000, 1000].
Multiplication of any three numbers in the input won’t exceed the range of 32-bit signed integer.
Runtime: 72 ms, faster than 87.12% of JavaScript online submissions for Maximum Product of Three Numbers.
/**
* @param {number[]} nums
* @return {number}
*/
var maximumProduct = function(nums) {
const size = nums.length;
let temp;
for (let i = size - 1; i >= size - 3; i--) {
for (let j = 0; j < i; j++) {
if (nums[j] > nums[j + 1]){
temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
for (let i = 0; i <= 1; i++) {
for (let j = size - 3; j > 0; j--) {
if (nums[j] < nums[j - 1]){
temp = nums[j];
nums[j] = nums[j - 1];
nums[j - 1] = temp;
}
}
}
return nums[size - 1] * Math.max(nums[0] * nums[1], nums[size - 2] * nums[size - 3]);
};