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

  • Easy8 problems
  • Medium32 problems
  • Hard10 problems

Sign in and every problem you have already solved on Revquix is ticked off here.