~/problems
Problems
Basics first, then the classics, then company-style assessments. Every problem has tests you run right here; multi-level ones unlock as you go. See the roadmap.
Interview roadmap
2-D dynamic programming
Grids, two strings, knapsacks, ranges.
32 problems
Interview roadmap
2-D dynamic programming Grids, two strings, knapsacks, ranges.
Grid DP guide
- Basics: Count grid paths around obstacles basics easy
- Mushroom walks with an exact haul easy
- Minimum Path Sum py · c++ · java easy
- Max-score grid path with limited jumps 4 levels OpenAI hard
- Robots matching a sensor reading Uber py · c++ · java medium
- Longest Increasing Path in a Matrix py · c++ · java hard
String DP (edit distance, LCS) guide
- Basics: Longest common substring basics py · c++ · java easy
- Threading beads from two belts py · c++ · java medium
- Edit Distance py · c++ · java medium
- Longest Common Subsequence py · c++ · java medium
- Longest Palindromic Substring py · c++ · java medium
- Regular Expression Matching py · c++ · java hard
- Palindromic Substrings py · c++ · java medium
- Interleaving String py · c++ · java medium
- Distinct Subsequences py · c++ · java hard
Knapsack and coin change guide
- Basics: Can a subset hit the target? (0/1 subset sum) basics py · c++ · java easy
- Prize stall with limited stock py · c++ · java easy
- Coin Change py · c++ · java medium
- Coin Change II py · c++ · java medium
- Partition Equal Subset Sum py · c++ · java medium
- Target Sum py · c++ · java medium
- Most pages within a budget py · c++ · java easy
- Fill a layover with experiences Airbnb medium
- Crypto block mining Coinbase hard
- Perfect Squares py · c++ · java medium
- Combination Sum IV py · c++ · java medium
Interval (range) DP guide
- Basics: Cheapest way to merge adjacent piles basics py · c++ · java easy
- Least wobbly hanging mobile py · c++ · java easy
- Longest Palindromic Subsequence py · c++ · java medium
- Burst Balloons py · c++ · java hard
- Minimum Cost to Cut a Stick py · c++ · java medium
- Count ways to erase a string in adjacent pairs py · c++ · java hard