LeetCode 1464. Maximum Product of Two Elements in an Array

Given the array of integers nums, you will choose two different indices i and j of that array. Return the maximum value of (nums[i]-1)*(nums[j]-1).

Example 1:

Input: nums = [3,4,5,2]
Output: 12
Explanation: If you choose the indices i=1 and j=2 (indexed from 0), you will get the maximum value, that is, (nums[1]-1)*(nums[2]-1) = (4-1)*(5-1) = 3*4 = 12.
Example 2:

Input: nums = [1,5,4,5]
Output: 16
Explanation: Choosing the indices i=1 and j=3 (indexed from 0), you will get the maximum value of (5-1)*(5-1) = 16.
Example 3:

Input: nums = [3,7]
Output: 12

Constraints:

2 <= nums.length <= 500
1 <= nums[i] <= 10^3

1
2
3
4
5
6
7
8
9
10
11
12
13
int maxProduct(int* nums, int numsSize){
    int m1=0, m2=0;
    for(int i=0;i<numsSize;++i){
        if(nums[i]>=m1){
            m2=m1;
            m1=nums[i];
        }
        else if(nums[i]>m2){
            m2=nums[i];
        }
    }
    return (m1-1)*(m2-1);
}


9 Replies to “LeetCode 1464. Maximum Product of Two Elements in an Array”

  1. I loved as much as you’ll receive carried out right here. The sketch is attractive, your authored subject matter stylish. nonetheless, you command get got an nervousness over that you wish be delivering the following. unwell unquestionably come more formerly again since exactly the same nearly a lot often inside case you shield this increase. Abe Owca

Leave a Reply

Your email address will not be published. Required fields are marked *