Mental Model
We want to find the biggest product of a continuous part of the list. Because multiplying negatives can flip signs, we keep track of both the biggest and smallest products so far.
Analogy: Imagine walking on a path where stepping on some stones doubles your speed and some stones reverse your direction. To find the fastest speed you can get on any stretch, you remember both your fastest and slowest speeds at each step.
Array: [2] -> [-3] -> [4] -> [-1] -> [0] -> [5] -> [-2] -> null Track maxProd and minProd at each step to handle sign flips.
