1
00:00:00,200 --> 00:00:06,560
In the previous video, we have developed a good intuition regarding dynamic programming.

2
00:00:06,560 --> 00:00:13,340
Now in dynamic programming, you will see that there are a large number of coding interview questions

3
00:00:13,340 --> 00:00:15,410
which have to be mastered.

4
00:00:15,410 --> 00:00:22,310
So imagine that all of these over here represent different, different coding interview questions.

5
00:00:22,310 --> 00:00:30,860
Now, the good thing about dynamic programming is that these various questions occur in patterns.

6
00:00:30,860 --> 00:00:38,120
Now when we say that they occur in patterns, notice over here that there are different types of patterns,

7
00:00:38,120 --> 00:00:43,790
and in each pattern there are various variations of the same pattern.

8
00:00:43,790 --> 00:00:50,420
So in dynamic programming you will see that there are a few major question types.

9
00:00:50,420 --> 00:00:56,750
And then within each question type you will see that there are a lot of variations.

10
00:00:56,990 --> 00:00:59,630
Now this is actually a good thing.

11
00:00:59,660 --> 00:01:01,310
Now why is that a good thing?

12
00:01:01,310 --> 00:01:08,300
Because dynamic programming questions occur in types and variations within each type.

13
00:01:08,300 --> 00:01:14,630
So we can easily master dynamic programming by first studying a pattern.

14
00:01:14,630 --> 00:01:19,460
So for example we study question number one of this pattern over here.

15
00:01:19,460 --> 00:01:26,570
And then when we take a look at the other variations of questions, we will relate it to the pattern

16
00:01:26,570 --> 00:01:27,620
that we have learned.

17
00:01:27,620 --> 00:01:32,090
And in this way we will be able to master this pattern.

18
00:01:32,090 --> 00:01:36,770
And then when you are presented with a future question, which is something that you had not previously

19
00:01:36,770 --> 00:01:42,260
seen, but can be related to this pattern, you will be able to tackle it successfully.

20
00:01:43,080 --> 00:01:49,710
So this is the approach that we will take in this course for mastering dynamic programming.

21
00:01:50,220 --> 00:01:55,860
Now what are some of the major patterns that we will discuss in this course.

22
00:01:55,860 --> 00:02:03,510
So some of the major patterns are the Fibonacci based question pattern, the knapsack based question

23
00:02:03,510 --> 00:02:13,320
pattern, the longest common subsequence pattern, the longest increasing subsequence pattern gap strategy

24
00:02:13,320 --> 00:02:20,580
based coding interview problems, partition strategy based dynamic programming questions, kadane's

25
00:02:20,580 --> 00:02:27,780
algorithm based dynamic programming questions, etc. you will see that by mastering a few problems in

26
00:02:27,780 --> 00:02:34,230
each pattern, you will be able to solve a wide variety of coding interview questions, and that is

27
00:02:34,230 --> 00:02:37,020
what we plan to achieve in this section.
