Maximum Product of Three Numbers LeetCode solution in C++

1
class Solution {
2
public:
3
int maximumProduct(vector<int> &nums) {
4
int min1 = INT_MAX,
5
min2 = INT_MAX; // Both have the maximum value that is +infinte
6
int max1 = INT_MIN, max2 = INT_MIN,
7
max3 = INT_MIN; // All these have the minimum value that is -infinte
8

9
// now finding all these value above declared.
10
for (int i = 0; i < nums.size(); i++) {
11
if (nums[i] > max1) {
12
max3 = max2;
13
max2 = max1;
14
max1 = nums[i];
15

16
} else if (nums[i] > max2) {
17
max3 = max2;
18
max2 = nums[i];
19

20
} else if (nums[i] > max3) {
21
max3 = nums[i];
22
}
23

24
if (nums[i] < min1) {
25
min2 = min1;
26
min1 = nums[i];
27

28
} else if (nums[i] < min2) {
29
min2 = nums[i];
30
}
31
}
32
return max(min1 * min2 * max1, max1 * max2 * max3);
33
}
34
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0