My structured run through the NeetCode 150 on the way to crushing technical interviews. Bilingual walkthroughs (English + Russian), one folder per problem, progress tracked in a live HTML roadmap.
index.html— single-file roadmap. Open it in any browser. You get the full NeetCode tree (Arrays & Hashing → ... → Math & Geometry), with a progress bar under every topic node and clickable jumps to the problem tables below.problems/— 18 topic folders, 150 problem folders. Each problem has its ownREADME.md(notes) andindex.html(renders the notes locally).assets/— vendored marked.js for client-side Markdown rendering.
.
├── index.html # the roadmap
├── README.md
├── assets/
│ └── marked.min.js
└── problems/
├── README.md # topic index
├── 01-arrays-hashing/
│ ├── README.md # problems in this topic
│ ├── 0001-two-sum/
│ │ ├── README.md # the walkthrough
│ │ └── index.html # local renderer
│ ├── 0036-valid-sudoku/
│ ├── 0049-group-anagrams/
│ ├── 0128-longest-consecutive-sequence/
│ ├── 0217-contains-duplicate/
│ └── ...
├── 02-two-pointers/
│ ├── README.md
│ ├── 0011-container-with-most-water/
│ └── ...
└── ...
Topic folders use a sequential NN- prefix to follow the recommended NeetCode order. Problem folders use the actual LeetCode problem number (zero-padded to 4 digits) so it's instantly clear which problem each directory points to. The recommended study order is preserved in each topic's README.md table.
- Open
index.htmlin your browser. - Pick the next unsolved problem from the topic table.
- Click the LeetCode link to solve it.
- Click the 📝 link to read the walkthrough (rendered Markdown).
Every problem write-up follows the same shape, mirroring how I would explain it in an actual interview:
- Problem restated in plain English with constraints called out
- Example walkthrough by hand
- Brute-force approach with time and space complexity
- What's wasteful about the brute force
- Optimized approach with the key insight
- Final complexity
- Clean Python solution
- Edge cases
- How to say it out loud (2-4 sentences for the interviewer)
- Pattern tag for recognizing variants
Each section also has a По-русски (Russian) companion so I keep building the English↔Russian technical vocabulary.
Problem list, recommended order, and topic dependency tree from neetcode.io/practice. All credit to Navdeep Singh for curating the NeetCode 150.
MIT — see LICENSE.