Top-down vs bottom-up dynamic programming — what’s the difference? | LetsGit.IT