Dynamic Programming problems,
and the tell.
The problem asks for the best, the count, or whether it is possible, and a choice now changes what is left. 314 problems in the catalogue carry this tag, from first-week easy to interview hard.
Free to start. Running and submitting a solution never costs credits.
How the pattern actually works.
One mechanism, and the mistake that costs people the problem.
The tell. The problem asks for the best, the count, or whether it is possible, and a choice now changes what is left.
The mechanism. Write the recursion first: what is the smallest version, and what choice does the current step make? Then stop solving the same call twice, either by remembering answers in a map or by filling a table from the smallest case up.
What goes wrong. A state that does not capture everything the answer depends on. If two different paths reach the same state and need different answers, the state is missing a dimension.
The ones asked most often.
By how often the catalogue records them being set, not by our opinion.
- Binary Tree CamerasHardasked at 8 companies
- Valid Parenthesis StringMediumasked at 5 companies
- Count All Valid Pickup and Delivery OptionsHardasked at 2 companies
- Arithmetic Slices II - SubsequenceHardasked at 2 companies
- Count Strictly Increasing SubarraysMediumasked at 2 companies
- House Robber IVMediumasked at 2 companies
- Difference Between Maximum and Minimum Price SumHardasked at 2 companies
- Number of Ways to Form a Target String Given a DictionaryHardasked at 2 companies
- Construct the Longest New StringMediumasked at 2 companies
- Maximize the Number of Partitions After OperationsHardasked at 2 companies
Read it, watch it, then solve it.
The order that makes a pattern stick.
Everything in the app, in one place.
Practice, interviews and the tools, all free to start. Swipe to see the rest.
DSA practice
Problems filed under the pattern that solves them, not a sheet.
352 problemsOpenCompany sets
Practise what one company actually asks, the week before the round.
463 companiesOpenCoding interview
Pick the role, write in a real editor, and answer while you type.
scored reportOpenMock interviews, spoken
You answer out loud, it follows up on what you said.
36 topicsOpenDatabase round
DBMS asked the way a panel asks it: indexes, joins, normal forms.
in Core CSOpenOOP round
Inheritance, polymorphism and the follow-up you never rehearse.
in Core CSOpenSystem design
How real systems are built, from the primitives to the AI stack.
27 chaptersOpenSQL practice
Real schemas, your query, the rows it returns, and an honest verdict.
39 questionsOpenAptitude
Quant, logical, verbal, DI and technical, timed like the real test.
280 questionsOpenOnline assessment
A clock, marks per question and hidden tests, like a company's judge.
37 papersOpenAlgorithm visualiser
Watch it run on your own input, one step at a time.
26 algorithmsOpenAI that helps, not solves
Hints one at a time, AI review before a mentor reads it.
100 free creditsOpenResume builder
Build it inside the app, next to the work you practised.
in the appOpenProgress and readiness
One score, and the axis you are weakest on.
tracked dailyOpen
Free to start: 100 AI credits when you sign up and 100 every month. Start free in the app
About dynamic programming problems.
Free to start, no card.
Start practisingHow do I know a problem is a dynamic programming problem?
The problem asks for the best, the count, or whether it is possible, and a choice now changes what is left.
How many dynamic programming problems should I solve?
Enough to stop needing the hint, which is usually ten to fifteen across the levels, not the whole list. The catalogue tags 314, split roughly 9 easy, 106 medium and 85 hard in the sample we show, so work up rather than across.
What goes wrong most often in dynamic programming problems?
A state that does not capture everything the answer depends on. If two different paths reach the same state and need different answers, the state is missing a dimension.
Is practising by pattern better than a problem sheet?
A sheet tells you what to solve. A pattern tells you why those problems sit together, which is the part that carries over to the problem you have not seen. That is why the app files every problem under its pattern.