Grokking Dynamic Programming Patterns for Coding Interviews

Master Dynamic Programming by learning coding patterns. Act smartly, and follow the Dynamic Programming patterns.

Level:

Advanced

Study Time:

71h

Lessons:

73

Playgrounds :

142

39,106 (Students)

Course Overview

The fact is, Dynamic Programming (DP) problems can be some of the most intimidating on a coding interview. Even when it's actually clear if a problem can be solved using DP (which it rarely is), it can be pretty challenging to even know where to start on the solution. Unless, that is, you're trained on the approach to solving DP problems.

This course was made from scratch with just that goal in mind. It'll equip you with a set of easy-to-understand techniques to handle any DP problem. Rather than just having you try to memorize solutions, you'll be walked through five underlying DP patterns that can then be applied to solve 35+ DP problems. In each pattern, we'll start with a recursive brute-force solution -- this is actually the best way to start solving a DP problem! Once we have a recursive solution, we'll then apply the advanced DP methods of Memoization and Tabulation.
The practice problems in this course were carefully chosen, covering the most frequently asked DP questions in coding interviews.

Get instant access to all current and upcoming courses through subscription.

$21

.42

/mo

billed yearly ($257)

OR

Get Lifetime access to this course only.

$55

Certification on completing the course.

Course Content

• 7 Chapters • 73 Lessons

1.

Introduction

1 lesson

What is Dynamic Programming?

2.

Pattern 1: 0/1 Knapsack

13 lessons

Introduction

0/1 Knapsack

Solution: 0/1 Knapsack

Equal Subset Sum Partition

Solution: Equal Subset Sum Partition

Subset Sum

Solution: Subset Sum

Minimum Subset Sum Difference

Solution: Minimum Subset Sum Difference

Count of Subset Sum

Solution: Count of Subset Sum

Target Sum

Solution: Target Sum

3.

Pattern 2: Unbounded Knapsack

10 lessons

Unbounded Knapsack

Solution: Unbounded Knapsack

Rod Cutting

Solution: Rod Cutting

Coin Change

Solution: Coin Change

Minimum Coin Change

Solution: Minimum Coin Change

Maximum Ribbon Cut

Solution: Maximum Ribbon Cut

4.

Pattern 3: Fibonacci Numbers

12 lessons

Fibonacci numbers

Solution: Fibonacci numbers

Staircase

Solution: Staircase

Number factors

Solution: Number factors

Minimum jumps to reach the end

Solution: Minimum jumps to reach the end

Minimum jumps with fee

Solution: Minimum jumps with fee

House thief

Solution: House thief

5.

Pattern 4: Palindromic Subsequence

10 lessons

Longest Palindromic Subsequence

Solution: Longest Palindromic Subsequence

Longest Palindromic Substring

Solution: Longest Palindromic Substring

Count of Palindromic Substrings

Solution: Count of Palindromic Substrings

Minimum Deletions in a String to make it a Palindrome

Solution: Minimum Deletions in a String to make it a Palindrome

Palindromic Partitioning

Solution: Palindromic Partitioning

6.

Pattern 5: Longest Common Substring

26 lessons

Longest Common Substring

Solution: Longest Common Substring

Longest Common Subsequence

Solution: Longest Common Subsequence

Minimum Deletions & Insertions to Transform a String into another

Solution: Minimum Deletions & Insertions to Transform a String into another

Longest Increasing Subsequence

Solution: Longest Increasing Subsequence

Maximum Sum Increasing Subsequence

Solution: Maximum Sum Increasing Subsequence

Shortest Common Super-sequence

Solution: Shortest Common Super-sequence

Minimum Deletions to Make a Sequence Sorted

Solution: Minimum Deletions to Make a Sequence Sorted

Longest Repeating Subsequence

Solution: Longest Repeating Subsequence

Subsequence Pattern Matching

Solution: Subsequence Pattern Matching

Longest Bitonic Subsequence

Solution: Longest Bitonic Subsequence

Longest Alternating Subsequence

Solution: Longest Alternating Subsequence

Edit Distance

Solution: Edit Distance

Strings Interleaving

Solution: Strings Interleaving

7.

Appendix

1 lesson

Contact Us

Related Courses

Grokking the Coding Interview: Patterns for Coding Questions

Grokking Data Structures & Algorithms for Coding Interviews

What people say about our courses

Get instant access to all current and upcoming courses through subscription.