https://medium.com/@sheefanaaz6417/152-maximum-product-subarray-leetcode-step-by-step-approach-e0dd03d91829