π Notebook-based LeetCode interview prep in Python with DSA notes, explanations, tests, mistakes, and problem-solving patterns.
If you are preparing for coding interviews and want more than just accepted code, this repository is for you.
This repo is my public learning journal for mastering data structures and algorithms. I use Jupyter notebooks to keep the full learning process in one place: concepts, solutions, experiments, edge cases, tests, mistakes, and interview-style explanations.
Most LeetCode repositories only store final solutions.
This one focuses on the full thinking process:
- π§© Why the brute-force approach works
- π’ Why it may be too slow
- β‘ How constraints guide the algorithm choice
- π Which pattern unlocks the optimized solution
- π§ͺ What edge cases are easy to miss
- π What mistakes I made while solving
- π€ How to explain the solution out loud in an interview
The goal is simple:
π― Build real interview intuition, not just memorize answers.
Each notebook may include:
- π§ Concept notes
- π§© Problem-solving patterns
- β Clean accepted Python solutions
- π’ Brute-force approaches
- β‘ Optimized approaches
- β±οΈ Time and space complexity
- π Constraint analysis
- π§ͺ Test cases
- π Common mistakes
- π€ Interview-style explanations
- π Personal learning notes
This repository follows a structured data structures and algorithms progression.
| Topic | Status |
|---|---|
| π§΅ Arrays and Strings | π§ In progress |
| ποΈ Hashing | π Planned |
| π Linked Lists | π Planned |
| π Stacks and Queues | π Planned |
| π³ Trees and Graphs | π Planned |
| β°οΈ Heaps | π Planned |
| π° Greedy | π Planned |
| π― Binary Search | π Planned |
| π§ Backtracking | π Planned |
| π§ Dynamic Programming | π Planned |
| π Big O | π§ In progress |
This repository is organized by data structures and algorithms topics.
Most explanations, code, examples, tests, mistakes, and notes are written directly inside Jupyter notebooks.
.
βββ arrays-and-strings/
β βββ ArraysAndString.ipynb
β βββ ArraysAndStringWithChecker.ipynb
βββ hashing/
βββ linked-lists/
βββ stacks-and-queues/
βββ trees-and-graphs/
βββ heaps/
βββ greedy/
βββ binary-search/
βββ backtracking/
βββ dynamic-programming/
βββ big-o/
βββ README.md