
120+ continually updated, interactive, and test-driven coding challenges, with Anki flashcards.
Challenges focus on algorithms and data structures found in coding interviews.
Each challenge has one or more reference solutions that are:
Challenges will soon provide on-demand incremental hints to help you arrive at the optimal solution.
Notebooks also detail:
Also included are unit tested reference implementations of various data structures and algorithms.


The provided Anki flashcard deck uses spaced repetition to help you retain key concepts.
Great for use while on-the-go.
Looking for resources to help you prep for the System Design and Object-Oriented Design interviews?

Check out the sister repo The System Design Primer, which contains additional Anki decks:
Each challenge has two notebooks, a challenge notebook with unit tests for you to solve and a solution notebook for reference.
Format: Challenge Category - Number of Challenges
Total number of challenges: 120
Unit tested, fully functional implementations of the following data structures:
Unit tested, fully functional implementations of the following algorithms:

| Challenge | Static Notebook |
|---|---|
| Determine if a string contains unique characters | Challenge │ Solution |
| Determine if a string is a permutation of another | Challenge │ Solution |
| Determine if a string is a rotation of another | Challenge │ Solution |
| Compress a string | Challenge │ Solution |
| Reverse characters in a string | Challenge │ Solution |
| Given two strings, find the single different char | Challenge │ Solution |
| Find two indices that sum to a specific value | Challenge │ Solution |
| Implement a hash table | Challenge │ Solution |
| Implement fizz buzz | [Challenge](http://nbviewer.ipython.org/github/donnemartin/interactive-coding-challenges/blob/master/arrays_strings/fizz_buzz/fizz_buzz_challenge.ipyn |
$ claude mcp add interactive-coding-challenges \
-- python -m otcore.mcp_server <graph>