474 problems · 19 topics · now with a built-in editor

Climb the whole DSA ladder, one rung at a time.

A structured A-to-Z roadmap of 474 coding problems — read the question, write the code and run it on the same page, then let spaced revision decide what comes back.

No card needed. The full ladder, the editor and all progress tracking are free.

#14 · Longest substring without repeating characters
def length_of_longest(s):
    seen, best, left = {}, 0, 0
    for right, ch in enumerate(s):
        if ch in seen:
            left = max(left, seen[ch] + 1)
        seen[ch] = right
        best = max(best, right - left + 1)
    return best
Ran successfully386 ms
Sliding window9/14

474

problems

19

topics

61

subtopics

4

languages you can run

Four things that make a list of problems into actual practice

Ordered, not piled up

Every problem leans on the one before it. Nineteen topics, sixty-one subtopics, one recommended path from start to finish.

Solve it right here

A real editor, four languages and your own test input — run your solution on the problem page instead of juggling tabs.

Revision that schedules itself

Grade a review and the interval grows or collapses. Shaky problems return tomorrow; solid ones get out of your way for weeks.

Patterns, not answers

Progressive hints, a written approach and complexity targets for the underlying pattern — enough to unstick you, never the solution.

New

Write the solution without leaving the question

The statement, the hints and a real code editor sit on one page. Feed your program any input you like, run it in a sandbox, and read stdout, stderr and compile errors side by side. Your draft is kept per language, per problem.

PythonJavaC++C
  • Syntax highlighting, bracket matching and ⌘/Ctrl + Enter to run.
  • Your own test input — not a fixed set of hidden cases.
  • Compile errors shown in full, not swallowed.
  • Drafts saved as you type, so a refresh costs you nothing.

How a session goes

  1. 01

    Pick up where the ladder left off

    Your next unsolved problem is always one click from the dashboard.

  2. 02

    Read, think, then write code

    Hints open one at a time. The editor sits under the statement, not on another site.

  3. 03

    Mark it and let revision take over

    Solved problems come back on a schedule that matches how well you knew them.

The nineteen rungs

Ordered so each topic uses something the previous one taught. You can jump around — the recommended order just exists for a reason.

  1. 1Basics20
  2. 2Sorting10
  3. 3Arrays40
  4. 4Binary Search32
  5. 5Strings20
  6. 6Linked Lists31
  7. 7Recursion20
  8. 8Backtracking20
  9. 9Bit Manipulation16
  10. 10Stack and Queue30
  11. 11Sliding Window and Two Pointers20
  12. 12Heaps17
  13. 13Greedy Algorithms16
  14. 14Binary Trees39
  15. 15Binary Search Trees16
  16. 16Graphs54
  17. 17Dynamic Programming56
  18. 18Tries7
  19. 19Advanced Data Structures and Algorithms10

What the paid tier actually adds

The problems are free and always will be — they are public links. Premium buys the tooling around them.

  • Advanced analyticsPattern-level accuracy, time invested per topic, and your weakest areas ranked.
  • Custom study plansGenerate a dated plan from any topics and difficulty mix, and track it day by day.
  • Spaced revision schedulerGrade each review and let the interval grow, so you revisit shaky problems first.
  • Company-wise filtersNarrow the 474 to the companies you are actually interviewing with.
  • Interview preparation modeA timed, hint-free run through a shuffled set drawn from your weakest patterns.
  • Personalised recommendationsWhat to attempt next, chosen from your own solve history rather than a fixed list.
  • Progress exportDownload every status, note and code snippet as JSON or CSV. Your data stays yours.
  • Unlimited private notesFree accounts keep notes on 25 problems. Premium removes the cap.

Stop collecting problem lists. Start finishing one.

Create your free account