How To Use This Track — The Graduated Reading Protocol

Every problem folder has three files. They are meant to be read in a specific order with specific gates between them. Reading them out of order destroys the value.


The Three Files

pXX-problem-name/
  README.md       ← Graduated reading: 15 sections, each gated
  solution.py     ← Brute + optimal + stress test (Python, runnable)
  hints.md        ← 5 progressive hints (only opened when stuck)

The Per-Problem Reading Protocol

Phase 1 — Cold Attempt (mandatory)

  1. Open README.md, read only sections 1–2 (Quick Context + LeetCode Link/Attempt Gate)
  2. Click the LeetCode link, read the problem statement on LC
  3. Set a 20-minute timer. Code on paper or in a scratch file. No IDE autocomplete that helps with the algorithm. No reading further in README.md. No hints.md.
  4. If you solve it: write down your time and approach. Now jump to Phase 3.
  5. If 20 min passes: write down where you got stuck. Move to Phase 2.

Why the gate? You cannot build pattern-recognition by reading approaches. You build it by failing to find approaches, then learning the gap. If you skip the cold attempt, you are training your recognition memory, not your derivation skill. Interviews test derivation.

Phase 2 — Hint Ladder (only if stuck)

Open hints.md. Read one hint. Set another 10-min timer. Try again.

  • Solved after Hint 1 → write down which insight unlocked it. Move to Phase 3.
  • Still stuck after 10 min → next hint.
  • After Hint 5 without solving → you’ve hit the conceptual gap. Open README.md section 4 (“How to Approach”) and read straight through. Then Phase 3.

Rule: never read two hints back to back. Always 10 minutes between hints.

Phase 3 — The Real Learning

Now read README.md sections 3–15 in order. This is where the value is.

  • Section 3 (Prerequisites): if any link goes to a phase lab you haven’t done, do that lab first
  • Section 4 (How to Approach): compare to YOUR approach. Where did you diverge? Why?
  • Section 6 (Deeper Insight): the proof or invariant. You must be able to restate this in your own words before moving on.
  • Section 7 (Anti-Pattern): “did I almost do this?” — if yes, this is a flag for your weakness log
  • Section 10 (Company Context): mental note of how the company you’re targeting twists this problem
  • Section 12 (Level Delta): honestly: which level was your answer? Mid, Senior, Staff, or Principal?
  • Section 13 (Follow-ups): cover the answer with your hand. Try each follow-up. Then read the answer.

Phase 4 — Code & Test

  1. Open solution.py. Read the brute force. Read the optimal.
  2. Close the file. Re-implement the optimal from scratch in your own scratch.
  3. Diff your re-implementation against the reference. Identify every difference. Some differences are style (fine). Some are bugs (not fine).
  4. Run the stress test: python solution.py. It must pass.
  5. Now run your own implementation against the stress test. It must also pass.

Phase 5 — Move-On Gate

Walk through Section 9 (“When to Move On”) — the binary checklist. Every box must be honestly checked. If even one is no, you stay on this problem (re-do tomorrow). No exceptions.

Log the solve in your tracking spreadsheet:

  • Date, problem, time-to-solve, hint depth used (0–5), follow-ups answered correctly (count/total), Level Delta self-assessment
  • Schedule next review per SPACED_REPETITION.md

What Each README.md Section Is For

#SectionRead When
1Quick ContextBefore cold attempt
2LeetCode Link + Attempt GateBefore cold attempt
3Prerequisite ConceptsAfter cold attempt; do prereq labs if needed
4How to ApproachAfter Hint 5 fails OR after solving
5Progressive Hints (→ hints.md)When stuck, one at a time
6Deeper InsightAlways, after solving
7Anti-Pattern AnalysisAlways — check if you fell into it
8Skills & TakeawaysAlways — note analogous problems
9When to Move OnMandatory gate
10Company ContextRead for companies you’re targeting
11Interviewer’s LensAlways — internalize scorecard language
12Level DeltaSelf-assess honestly
13Follow-ups & AnswersAttempt each cold, then read
14Full Solution WalkthroughAfter re-implementing
15Beyond the ProblemAlways — production reality

Common Mistakes (Do Not Do)

  1. Reading README.md before the Attempt Gate. Destroys the entire training value.
  2. Reading all hints at once. Same problem.
  3. Skipping the “re-implement from scratch” step. Reading code ≠ writing code.
  4. Skipping the Level Delta self-assessment. This is the single highest-signal section.
  5. Skimming Section 10 (Company Context). This is where the differentiated content lives.
  6. Marking “When to Move On” green without honestly checking each box. Calcifies bad habits.
  7. Not stress-testing your own implementation. A solution that passes LC may have a bug a stress test catches.
  8. Skipping originals (p75, p77, p79, p85, p87, p90). These are the highest-value problems in the track. They’re original because they don’t exist on LC — meaning your competition hasn’t seen them either.

Time Budget Per Problem

DifficultyCold AttemptHints + Re-attemptReading + Re-implementTotal
Easy20 min10–20 min30 min~60–70 min
Medium25 min20–40 min45 min~90–110 min
Hard30 min30–60 min60 min~120–150 min
Original (any)30 min20–40 min60–90 min~110–160 min

Plan accordingly when fitting problems into the weekly schedule.


The One Rule

If you remember nothing else: the Attempt Gate is not optional. Every other shortcut is recoverable. Skipping the cold attempt is not — it permanently degrades the training signal for that problem.