Mental Model
Split the array into two halves, find the best subarray in the left half, right half, and crossing the middle, then pick the best among them.
Analogy: Imagine you want to find the best stretch of road with the most beautiful views on a long trip. You split the trip into two parts, find the best stretch in each part, and also check if the best stretch crosses the middle point between the two parts.
Array: [ -2, 1, -3, 4, -1, 2, 1, -5, 4 ] Split: [ -2, 1, -3, 4 ] | [ -1, 2, 1, -5, 4 ] Left max subarray: ? Right max subarray: ? Crossing max subarray: ?