https://www.codinginterview.net/2023/06/maximum-product-subarray.html