Backtracking & Dynamic Programming

Classic recursion, memoization, grid DP, knapsack patterns, string DP, games, and optimization problems.

Filter by difficulty:
Stock Buy & Sell
At most one transaction Easy
At most two transactions Medium
Unlimited transactions Medium
At most k transactions (Backtracking + DP) Hard
Matrix (Backtracking + DP)
Longest Consecutive Increasing Sequence in a Matrix Hard
Palindromic Paths from TopLeft to BottomRight Hard
Number of Islands (DFS / BFS / Disjoint Set) Medium
Flood Fill Easy
Replace Surrounded O with X - Variant of Flood FillMedium
Paths with Exactly K Coins (Right & Down) Medium
Collect Max Coins with Direction Change Rules Hard
Collect Max Coins (Forward + Return Path) Hard
Two Traversals Max Points (3D DP) Hard
Chessboard Problems
N-Queen Problem Hard
Permutations & Combinations
Power Set (All Subsets) Easy
Unique Permutations (Distinct Elements) Medium
Unique Permutations (With Duplicates) Medium
Next Permutation Medium
Kth Permutation Medium
All Subsets of Size K Medium
All Subsets with Sum = K Medium
All Subsets with Sum Divisible by K Hard
Parenthesis & Expressions
Generate Balanced Parentheses Medium
String (Backtracking + DP)
Word Search (Single Word) Medium
Word Search II (Trie) Hard
Word Ladder (Shortest Path) Medium
Word Ladder II (All Paths) Hard
Distinct Subsequences Hard
Edit Distance Hard
Wildcard Pattern Matching Hard
Word Break - Check Medium
Word Break - Print Medium
Word Wrap Problem Hard
Interleaving String Medium
Restore IP Addresses Medium
Decode Ways Medium
Letter Combinations of Phone Number Easy
Scramble String Hard
Games
Sudoku Generator Hard
Sudoku Validator Hard
Sudoku Solver Hard
Tug of War Hard
Optimal Strategy for a Game Medium
Knapsack
Fractional Knapsack Medium
0/1 Knapsack Medium
Bounded Knapsack Hard
Unbounded Knapsack Medium
Min Coin ChangeMedium
Coin Change WaysMedium
Longest Common Subsequence (LCS)
LCS - LengthHard
LCS - Print One Hard
LCS - Print All Hard
LPS (LCS Variant) Medium
Longest Increasing Subsequence (LIS)
LIS (N² & NlogN) Medium
Box Stacking - LIS Variant (, Bridges) Hard
Building Bridges - LIS Variant Hard
Max Sum of Increasing Subsequence - LIS Variant Hard
Misc
Candy Distribution Medium
Min Jumps - Check Medium
Min Jumps - Count Medium