Optimal Solution Contains Optimal Subsolutions - Optimal Substructure — The Foundation of Dynamic Programming | OneNoughtOne