Algorithm Design By Dynamic Programming Patterns In Pythons