Maximum Product Subarray Leetcode Solution 21