[00:01] Let me prove it in under 60 seconds with an example. You have a grid. You start want to reach here on the bottom. But you can only move right or down. So, how destination? Most people will try brute force, but there's too many paths and [00:14] it's exponentially slow. A better idea? Watch this. To reach any cell, you only from the top or come from the left. That's it. So, the number of ways to ways required to reach the top cell plus the number of ways required to reach the [00:28] start filling the grid. For the first row, there's only one way. And similarly, for the first column, there's also only one way. Now, we just have to build the array starting from index 1 1, which has 1 + 1 two ways to reach it. We [00:40] can just keep on building the array and in the end we reach our destination with dynamic programming. Identify smaller pieces and break it into those pieces. don't see this pattern, dynamic programming problems will always feel [00:53] looking the same. Want to learn more dynamic programming problems? Like this dynamic programming problems? Like this video and follow us for more.