Mental Model
We want to split a string into parts where each part reads the same forwards and backwards, using the fewest splits possible.
Analogy: Imagine cutting a ribbon into pieces so that each piece is a perfect mirror image of itself, and you want to make as few cuts as possible.
s: a b a c d c b a cuts: [0, ?, ?, ?, ?, ?, ?, ?] palindrome check matrix: 2D grid showing which substrings are palindromes
