Maximum Product Difference Between Two Pairs LeetCode solution in C++

1
class Solution {
2
public:
3
int maxProductDifference(vector<int> &nums) {
4
// we have to return the result of
5
// (firstMax*secondMax) - (firstMin*secondMin)
6
int max1 = INT_MIN;
7
int max2 = INT_MIN;
8
int min1 = INT_MAX;
9
int min2 = INT_MAX;
10
for (int i = 0; i < nums.size(); i++) {
11
if (nums[i] > max1) {
12
// assign the second max to max2
13
max2 = max1;
14
max1 = nums[i];
15
} else if (nums[i] > max2) {
16
// it can become second max
17
max2 = nums[i];
18
}
19

20
// check for the minimum
21
if (nums[i] < min1) {
22
// it can become first minimum
23
min2 = min1;
24
min1 = nums[i];
25
} else if (nums[i] < min2) {
26
// it can become second minimum
27
min2 = nums[i];
28
}
29
}
30
return (max1 * max2) - (min1 * min2);
31
}
32
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0