1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| class Solution { public: int maximumProduct(vector<int>& nums) { int min1 = INT_MAX, min2 = INT_MAX; int max1 = INT_MIN, max2 = INT_MIN, max3 = INT_MIN; for (const int num : nums) { if (num < min1) { min2 = min1; min1 = num; } else if (num < min2) { min2 = num; } if (num > max1) { max3 = max2; max2 = max1; max1 = num; } else if (num > max2) { max3 = max2; max2 = num; } else if (num > max3) { max3 = num; } } return max(min1 * min2 * max1, max1 * max2 * max3); } };
|