First of several lectures about Dynamic Programming. It's a huge topic in algorithms, allowing us to speed exponential solutions to polynomial time. I will go through three problems: Fibonacci, Staircase and Min-Path Grid (links to Leetcode in the pinned comment). And you'll learn which method is better: iteration or maybe recursion with memoization. Watch this lecture if you practice for competitive programming or for coding interviews. Consider turning captions on and setting the speed to . Please give me suggestions about the format of a lecture or about topics for future lectures. - Frequently Asked Questions: - Github repository: - Facebook: - Twitter: - Competitive Programming Discord: - Youtube channel 1: (mainly short videos) - Youtube channel 2: (streams) I’m Kamil Dębowski, better known as Errichto. I compete in and organize programming competitions. I make educational streams on Youtube and Twitch. I'm a finalist of ACM-ICPC, Topcoder Open, Facebook Hacker Cup and Google Code Jam. I got a second place in Google Code Jam 2018. I am/was nutella in Codeforces and target in Topcoder. Watch me if you want to practice for coding interviews, competitive programming or just algorithms in general. I share my thought process, explain everything, and mention similar problems and techniques/algorithms.











