Byte Depth
© 2026 ByteDepth. All rights reserved.Built with care for curious engineers.

All Topics

Dynamic Programming61 articles

✕ Clear filter

DSA

Longest Common Prefix

5 approaches incl. Horizontal Scanning, Vertical Scanning, Binary Search, and more. Optimal — Time O(s log m), Space O(1).

Easy·Aug 8, 2026
DSAStringsLeetCode

DSA

Maximum Subarray Sum

Covers: Brute Force, Optimal. Optimal — Time O(n), Space O(1).

Medium·Aug 8, 2026
DSAArraysLeetCode🏢 Amazon

DSA

Palindromic Substring

Covers: Brute Force: generate all su…, Expansion on center, DP. Optimal — Time O(n<sup>2</sup>), Space O(n<sup>2</sup>).

Medium·Aug 8, 2026
DSAStringsLeetCode

DSA

Best Time to Buy and Sell Stock - II

Covers: Recursive, Memoized, Tabulation. Optimal — Time O(2n), Space O(1).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Coin Change

Covers: Memoized Version, Tabulation: 2-D, DP Approach 1D. Optimal — Time O(n*A), Space O(A).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Coin Change II

Covers: Recursive Version, Memoized Version, Tabulation:. Optimal — Time O(n*A), Space O(n*A).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Climbing Stairs

4 approaches incl. A. Recursive, B. Memoized, B. Tabulation, and more. Optimal — Time O(n), Space O(1).

Easy·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Cherry Pickup - II

DP approach. Optimal — Time O(R*C*C), Space O(R*C*C).

Hard·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Cherry Pickup - I

DP approach. Optimal — Time O(n^4), Space O(n^4).

Hard·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Best Time to Buy and Sell Stock with transaction fee - VI

Covers: Recursive, Memoized, Tabulation. Optimal — Time O(2n), Space O(1).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Best Time to Buy and Sell Stock with Cooldown - V

Covers: Recursive, Memoized, Tabulation. Optimal — Time O(2n), Space O(1).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Best Time to Buy and Sell Stock - IV

Covers: Recursive, Memoized. Optimal — Time O(kn), Space O(2 * k).

Hard·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Best Time to Buy and Sell Stock - III

Covers: Recursive, Memoized. Optimal — Time O(n), Space O(2 * 3).

Hard·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Count Square Submatrices with All Ones

Covers: Brute Force, Optimal. Optimal — Time O(m * n), Space O(m * n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Best Time to Buy and Sell Stock

Covers: Naive, Better. Optimal — Time O(n), Space O(1).

Easy·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Burst Balloons

Covers: Recursive, Memoized.

Hard·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Egg Dropping Problem

Covers: Recursive, Memoized, Binary Search. Optimal — Time O(e x f x logf), Space O(e x f).

Hard·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Partition Equal Subset Sum

Tabulation approach. Optimal — Time O(n*k), Space O(k).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Minimum Path Sum

4 approaches incl. Recursive, Memoized Version, Tabulation: Space Optimized, and more. Optimal — Time O(m*n), Space O(m*n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Matrix Chain Multiplication

Covers: Recursive, Memoized. Optimal — Time O(n), Space O(n).

Hard·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

0-1 Knapsack

Covers: Recursive, Memoized, Follow up - Return the indic…. Optimal — Time O(n), Space O(n*w).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Longest Common Subsequence

5 approaches incl. Brute Force, Recursive, Memoized DP, and more. Optimal — Time O(m×n), Space O(n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Longest Increasing Subsequence

4 approaches incl. Brute Force, Memoized, DP, and more. Optimal — Time O(n*log n), Space O(n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

House Robber - II

Covers: Recursive, Memoized version, Tabulation version. Optimal — Time O(n), Space O(1).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP🏢 Amazon

DSA

Minimum Falling Path Sum

Covers: Recursive, Memoized. Optimal — Time O(m*n), Space O(m*n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Minimum Cost to cut the stick

Covers: Recursive, Tabulation. Optimal — Time O(n^2), Space O(n^2).

Hard·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Maximum Sum Increasing Subsequence

Covers: DP, Binary Search. Optimal — Time O(n*log n), Space O(n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Maximal Square

Covers: Brute Force, Better, Building subproblem. Optimal — Time O(m*n), Space O(n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Maximal Rectangle

Dynamic Programming. Time O(m * n), Space O(n).

Hard·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Maximum Length of Bitonic Subsequence

DP approach.

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Longest Palindromic Subsequence

Covers: Recursion, Memoized DP. Optimal — Time O(n^2), Space O(n^2).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Longest common substring

Dynamic Programming. Time O(m*n), Space O(m*n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

House Robber - III

Covers: Recursive, Memoized version. Optimal — Time O(logn), Space O(n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

MAXIMUM PRODUCT SUBARRAY

Covers: Brute Force, Prefix & Suffix Product Trav…, DP. Optimal — Time O(n), Space O(1).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

House Robber

4 approaches incl. Recursive, Memoized version, Tabulation version, and more. Optimal — Time O(n), Space O(1).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Frog Jump

4 approaches incl. A. Recursive, B. Recursive, B. Tabulation, and more. Optimal — Time O(n), Space O(1).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Frog Jump with k distances

Covers: Recursive, Memoized Version, Tabulation version. Optimal — Time O(k*n), Space O(k).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Super Egg Drop

Covers: Memoized, Binary Search. Optimal — Time O(e x f x logf), Space O(e x f).

Hard·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Edit Distance

Covers: Recursive, DP. Optimal — Time O(m*n), Space O(n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Delete Operation for Two Strings

4 approaches incl. Brute Force, Recursive, Memoized DP, and more. Optimal — Time O(m*n), Space O(n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Decode Ways

Covers: Brute Force: Recursion + Bac…, DP Solution: Tabulation, DP Solution: Tabulation - Sp…. Optimal — Time O(n), Space O(1).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Subsets with sum k

Covers: Recursive, Memoized. Optimal — Time O(n*k), Space O(n*k).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Minimum insertions or deletions to convert string A to B

Tabulation approach. Optimal — Time O(m*n), Space O(m*n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Jump Game

Covers: Recursion, Greedy. Optimal — Time O(n), Space O(1).

Medium·Aug 8, 2026
DSAGreedyLeetCode

DSA

Jump Game III

Greedy. Time O(n), Space O(n).

Medium·Aug 8, 2026
DSAGreedyLeetCode

DSA

Jump Game II

Covers: Recursive, DP, Greedy. Optimal — Time O(n), Space O(1).

Medium·Aug 8, 2026
DSAGreedyLeetCode🏢 Amazon

DSA

Unique Paths - II

4 approaches incl. A. Recursive, B. Memoization, B. Tabulation, and more. Optimal — Time O(m * n), Space O(n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Word Break

5 approaches incl. Naive: Recursive, Memoization, Tabulation, and more. Optimal — Time O(n^2), Space O(n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Restore IP Addresses

Backtracking approach. Optimal — Time O(27).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Unique Paths

5 approaches incl. A. Recursive, B. Memoization, B. Tabulation, and more. Optimal — Time O(min(m,n), Space O(1).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP🏢 Amazon

DSA

Unique Paths - III

A. DFS approach.

Hard·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Knapsack with Duplicate Items

Memoized Version approach. Optimal — Time O(n x W), Space O(n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Subset Sum equal to target

Covers: Recursion, Memoized, Tabulation. Optimal — Time O(n*k), Space O(n*k ).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Shortest common super-sequence

Dynamic Programming. Time O(m*n), Space O(m*n).

Hard·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Russian Doll Envelopes

Covers: Brute Force: O(n²) DP, Solution: O(n log n) Patienc…. Optimal — Time O(n log n), Space O(n).

Hard·Aug 8, 2026
DSALeetCodePractice

DSA

Rod Cutting

Covers: Memoized, tabulation. Optimal — Time O(n x n), Space O(n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Print Longest Increasing Subsequence

DP approach. Optimal — Time O(n*n), Space O(n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Print all longest Common subsequence

Dynamic Programming. Time O(m + n).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Number of Longest Increasing Subsequence

Time O(n^2), Space O(n).

Medium·Aug 8, 2026
DSALeetCodePractice

DSA

Ninja Training

4 approaches incl. A. Recursive, B. Memoization, B. Tabulation, and more. Optimal — Time O(n * 4 * 3), Space O(4).

Medium·Aug 8, 2026
DSADynamic ProgrammingDP

DSA

Minimum Insertion Steps to Make a String Palindrome

Covers: Recursion, Memoized DP. Optimal — Time O(n^2), Space O(n).

Hard·Aug 8, 2026
DSADynamic ProgrammingDP