Maximizing Product of Three Integers: A JavaScript Solution

Akhil Kumar
TheCodingWay
Published in
2 min readOct 16, 2023

Leetcode: 628. Maximum Product of Three Numbers

When it comes to solving programming problems, efficiency and elegance are key. In this article, we’ll explore a JavaScript solution to the problem of finding the maximum product of three integers from a given array. We’ll walk through the code, explaining each step to ensure a clear understanding.

Problem Statement

Given an array of integers, we want to find the maximum possible product that can be obtained by multiplying three different integers from the array.

The JavaScript Solution

function maximumProduct(nums) {
nums.sort((a, b) => a - b);
const n = nums.length;
const maxProduct1 = nums[n - 1] * nums[n - 2] * nums[n - 3];
const maxProduct2 = nums[n - 1] * nums[0] * nums[1];
return Math.max(maxProduct1, maxProduct2);
}

Breaking Down the Code

Sorting the Array

The first step in our algorithm is to sort the given array nums. This is crucial because it allows us to identify the three largest and two smallest numbers in the array.

nums.sort((a, b) => a - b);

Here, we use the sort method with a comparison function that sorts the array in ascending order. The function a - b ensures that the array is sorted numerically.

Initializing Variables

Next, we calculate two potential maximum products:

const n = nums.length;
const maxProduct1 = nums[n - 1] * nums[n - 2] * nums[n - 3];
const maxProduct2 = nums[n - 1] * nums[0] * nums[1];
  • n stores the length of the sorted array.
  • maxProduct1 calculates the product of the three largest elements in the array.
  • maxProduct2 calculates the product of the largest element and the two smallest elements.

Returning the Maximum Product

Finally, we return the maximum of the two potential maximum products:

return Math.max(maxProduct1, maxProduct2);

Conclusion

In this article, we’ve walked through a JavaScript solution to the problem of finding the maximum product of three integers in an array. By sorting the array and making strategic multiplications, we can efficiently arrive at the maximum product.

This solution showcases the power of JavaScript’s array methods and mathematical operations. It’s important to note that this algorithm has a time complexity of O(n log n) due to the sorting operation, where n is the size of the input array. Understanding the underlying logic of this solution equips you with a valuable tool for tackling similar problems in the future.

Happy coding! 🚀

--

--