Python Easy with Explaination
\ndef maximumProduct(self, nums):\n    nums.sort()\n    max_num = 0\n    # if all negative, or all positive, or only one negative number. In this case, take 3 r
```\ndef maximumProduct(self, nums):\n    nums.sort()\n    max_num = 0\n    # if all negative, or all positive, or only one negative number. In this case, take 3 rightmost number \n    if nums[-1] < 0 or nums[0] >= 0 or (nums[0] < 0 and nums[1] > 0):\n        max_num = nums[-1] * nums[-2] * nums[-3]\n    # if two or more negative numbers, compare rightmost 3 nums or 2 left most * 1 rightmost\n    else:\n        max_num = max(nums[-3] * nums[-2] * nums[-1], nums[0] * nums[1] * nums[-1])\n    return max_num\n```
[]