Mental Model
We want to find a number in a list that was sorted but then rotated. We use a smart search that checks which part is sorted to decide where to look next.
Analogy: Imagine a clock face with numbers 1 to 12 in order, but someone turned the clock so 3 is now at the top. To find a number, you check which side of the clock is still in order and decide where to look.
Original sorted array:
[1] -> [2] -> [3] -> [4] -> [5] -> [6] -> [7] -> null
Rotated array (rotated at 4):
[5] -> [6] -> [7] -> [1] -> [2] -> [3] -> [4] -> null
↑ start pointer
↑ mid pointer
↑ end pointer