/algos

Primary LanguageTypeScript

Dynamic Programming Patterns for Coding Interviews

Pattern 1: 0/1 Knapsack

  1. 0/1 Knapsack Problem
  2. Equal Subset Sum Partition
  3. Subset Sum
  4. Minimum Subset Sum Difference
  5. Count of subset sum
  6. Target Sum (Leetcode)

Pattern 2: Unbounded Knapsack

  1. Unbounded Knapsack
  2. Rod Cutting
  3. Coin Change
  4. Minimum Coin Change
  5. Maximum Ribbon Cut

Pattern 3: Fibonacci Numbers

  1. Fibonacci Number
  2. Staircase
  3. Number divisors - // TODO
  4. Minimum jumps to reach end
  5. Minimum jumps with fee - // TODO
  6. House Thief

Pattern 4: Palindromic Subsequence

  1. Longest Pallindromic Subsequence
  2. Longest Pallindromic Substring
  3. Count of Pallindromic Substrings
  4. Minimum deletions to make a string pallindrome
  5. Pallindromic Partitioning

Pattern 5: Longest Common Substring

  1. Longest Common Substring
  2. Longest Common Subsequence
  3. Minimum Deletions and Insertions to Transform a String into another
  4. Longest Increasing Subsequence
  5. Maximum Sum Increasing Subsequence
  6. Shortest Common Supersequence
  7. Minimum deletions to make sequence sorted
  8. Longest repeating subsequence
  9. Subsequence Pattern Matching - // TODO
  10. Longest Bitonic Subsequence
  11. Longest Alternating Subsequence
  12. Edit Distance
  13. String Interleaving