Topic Stream 2: Dynamic Programming Part 2 (finished)