Mental Model
Find the smallest part of a big string that contains all characters of a smaller string. We slide a window over the big string and adjust it to keep all needed characters.
Analogy: Imagine you have a big bookshelf and want to find the shortest section that contains all your favorite books. You move your hands to cover parts of the shelf, expanding or shrinking the section until you find the smallest one with all favorites.
big string: [A] -> [D] -> [O] -> [B] -> [E] -> [C] -> [O] -> [D] -> [E] -> [B] -> [A] -> [N] -> [C] -> null
window: ā ā
left right