1. Given an integer array, find three numbers whose product is maximum and output the maximum product.

    Example 1:

    1. Input: [1,2,3]
    2. Output: 6

    Example 2:

    1. Input: [1,2,3,4]
    2. Output: 24

    Note:

    1. The length of the given array will be in range [3,10] and all elements are in the range [-1000, 1000].

    2. 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.

    1. /**
    2. * @param {number[]} nums
    3. * @return {number}
    4. */
    5. var maximumProduct = function(nums) {
    6. const size = nums.length;
    7. let temp;
    8. for (let i = size - 1; i >= size - 3; i--) {
    9. for (let j = 0; j < i; j++) {
    10. if (nums[j] > nums[j + 1]){
    11. temp = nums[j];
    12. nums[j] = nums[j + 1];
    13. nums[j + 1] = temp;
    14. }
    15. }
    16. }
    17. for (let i = 0; i <= 1; i++) {
    18. for (let j = size - 3; j > 0; j--) {
    19. if (nums[j] < nums[j - 1]){
    20. temp = nums[j];
    21. nums[j] = nums[j - 1];
    22. nums[j - 1] = temp;
    23. }
    24. }
    25. }
    26. return nums[size - 1] * Math.max(nums[0] * nums[1], nums[size - 2] * nums[size - 3]);
    27. };