152. Maximum Product Subarray (Medium)