Dynamic Programming Pattern — LeetCode DSA Guide
Asking for min/max, distinct ways, or optimal substructure