Simple Python Solution
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```python3 []\nclass Solution:\n    def maximumProduct(self, nums: List[int]) -> int:\n        max1, max2, max3 = float(\'-inf\'), float(\'-inf\'), float(\'-inf\')\n        min1, min2 = float(\'inf\'), float(\'inf\')\n\n        for num in nums:\n            if num > max1:\n                max1, max2, max3 = num, max1, max2\n            elif num > max2:\n                max2, max3 = num, max2\n            elif num > max3:\n                max3 = num\n            \n            if num < min1:\n                min1, min2 = num, min1\n            elif num < min2:\n                min2 = num\n        \n        return max(max1 * max2 * max3, max1 * min1 * min2)\n```
['Python3']