https://oj.leetcode.com/problems/maximum-product-subarray/