DSA track
Dynamic Programming Problems
Practise 50 dynamic programming problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript.
This track covers one-dimensional and grid recurrences, knapsack, subsequences, string alignment, interval and tree dynamic programming and bitmask states. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages.
What you will practise:
- Basics: 8 easy problems such as Best Stretch Sum, Memo Fibonacci and Divisor Duel.
- Core Problems: 32 medium problems such as Mirror Piece Count, Plus or Minus and Fewest Work Sessions.
- Hard Problems: 10 hard problems such as Biggest Ones Rectangle, Distinct Mirror Subsequences and Odd-Even Leaps.
Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
- 3 sections
- 50 problems
What it covers
The path
- Mirror Piece CountMedium
- Choose Mod PrimeMedium
- Tree ShapesMedium
- Break for Best ProductMedium
- Sum of Stretch MinimumsMedium
- Largest Search SubtreeMedium
- Many Small TradesMedium
- Graceful OrderingsMedium
- Mentor MatchingMedium
- Distance to Nearest ZeroMedium
- Quiet BurglarMedium
- Can It Be SegmentedMedium
- Best Product StretchMedium
- Lightest Grid PathMedium
- Falling Path MinimumMedium
- Plus or MinusMedium
- Rod SellerMedium
- Trades With Rest DaysMedium
- Domino TilingMedium
- Chunk and MaxMedium
- Ranged LeapsMedium
- Building Good StringsMedium
- Cheapest DeletionsMedium
- Uncrossed ConnectionsMedium
- Word Ladder ChainMedium
- Ends Game MarginMedium
- Wraparound SubstringsMedium
- Longest Weighted RoadMedium
- Exactly K Steps AwayMedium
- Biased Coin TossesMedium
- Points With PenaltyMedium
- Fewest Work SessionsMedium