Interactive Coding Challenges
120+ challenges in Jupyter Notebooks with solutions, unit tests, and Big-O analysis.
Categories
| Category |
Count |
Key Topics |
| Arrays & Strings |
10 |
two-sum, anagram, reverse, rotation, compression |
| Linked Lists |
8 |
reverse, cycle detect, merge, nth-from-end |
| Stacks & Queues |
8 |
min-stack, queue-via-stacks, balanced parens |
| Graphs & Trees |
21 |
BFS, DFS, BST validate, LCA, trie, shortest path |
| Sorting |
10 |
merge, quick, heap, radix, counting sort |
| Recursion & DP |
17 |
fibonacci, knapsack, coin change, LCS |
| Math & Probability |
6 |
prime sieve, power set, probability |
| Bit Manipulation |
8 |
XOR tricks, count bits, power of 2 |
| System Design |
8 |
URL shortener, pastebin, Twitter, Instagram |
| OOP Design |
8 |
deck of cards, parking lot, call center, chess |
Implementations Included
Data Structures (9): LinkedList, Stack, Queue, BinarySearchTree, Graph, MinHeap, Trie, PriorityQueue, HashMap
Algorithms (15): Selection, Insertion, Quick, Merge, Radix sort; DFS, BFS, Dijkstra; Knapsack (0/1 + Unbounded); Sieve of Eratosthenes
Each Challenge Contains
- Problem statement + constraints
- Unit tests (general + edge cases)
- Skeleton code to fill
- Reference solution with Big-O analysis
Setup
git clone https://github.com/donnemartin/interactive-coding-challenges
cd interactive-coding-challenges
pip install jupyter
jupyter notebook
# Open *_challenge.ipynb -> solve -> check *_solution.ipynb
1---2name: interactive-coding-challenges3description: 120+ interactive coding challenges in Jupyter Notebooks covering data structures, algorithms, system design and OOP for interview prep. USE FOR: coding challenges, algorithm practice, data structures interview, leetcode style problems, DSA practice, array problems, linked list, graph algorithms, dynamic programming, sorting algorithms, bit manipulation, system design interview, OOP design, big-O complexity, technical interview prep.4---56# Interactive Coding Challenges78> 120+ challenges in Jupyter Notebooks with solutions, unit tests, and Big-O analysis.910## Categories1112| Category | Count | Key Topics |13|----------|-------|------------|14| Arrays & Strings | 10 | two-sum, anagram, reverse, rotation, compression |15| Linked Lists | 8 | reverse, cycle detect, merge, nth-from-end |16| Stacks & Queues | 8 | min-stack, queue-via-stacks, balanced parens |17| Graphs & Trees | 21 | BFS, DFS, BST validate, LCA, trie, shortest path |18| Sorting | 10 | merge, quick, heap, radix, counting sort |19| Recursion & DP | 17 | fibonacci, knapsack, coin change, LCS |20| Math & Probability | 6 | prime sieve, power set, probability |21| Bit Manipulation | 8 | XOR tricks, count bits, power of 2 |22| System Design | 8 | URL shortener, pastebin, Twitter, Instagram |23| OOP Design | 8 | deck of cards, parking lot, call center, chess |2425## Implementations Included2627**Data Structures (9):** LinkedList, Stack, Queue, BinarySearchTree, Graph, MinHeap, Trie, PriorityQueue, HashMap2829**Algorithms (15):** Selection, Insertion, Quick, Merge, Radix sort; DFS, BFS, Dijkstra; Knapsack (0/1 + Unbounded); Sieve of Eratosthenes3031## Each Challenge Contains32- Problem statement + constraints33- Unit tests (general + edge cases)34- Skeleton code to fill35- Reference solution with Big-O analysis3637## Setup38```bash39git clone https://github.com/donnemartin/interactive-coding-challenges40cd interactive-coding-challenges41pip install jupyter42jupyter notebook43# Open *_challenge.ipynb -> solve -> check *_solution.ipynb44```