Given an integer array nums, find the contiguous subarray (containing at least one number) that has the largest product, and return that product.
Negative values can flip a small product into a large one, so you must track both extremes as you sweep.
[2,3,-2,4][-2,0,-1][-2,3,-4][2,-5,-2,-4,3][-2][0,2]