Challenge Solutions

Snapshot 2026-08-03 23:56:39 UTC · version 1

published
INDEXABLE MARKDOWN SNAPSHOT

Research document

Open canonical .md

interactive-coding-challenges

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:

  • Fully functional
  • Unit tested
  • Easy-to-understand

Challenges will soon provide on-demand incremental hints to help you arrive at the optimal solution.

Notebooks also detail:

  • Constraints
  • Test cases
  • Algorithms
  • Big-O time and space complexities

Also included are unit tested reference implementations of various data structures and algorithms.

Challenge Solutions



Anki Flashcards: Coding and Design


The provided Anki flashcard deck uses spaced repetition to help you retain key concepts.

Great for use while on-the-go.

Design Resource: The System Design Primer

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:

Notebook Structure

Each challenge has two notebooks, a challenge notebook with unit tests for you to solve and a solution notebook for reference.

Problem Statement

  • States the problem to solve.

Constraints

  • Describes any constraints or assumptions.

Test Cases

  • Describes the general and edge test cases that will be evaluated in the unit test.

Algorithm

  • [Challenge Notebook] Empty, refer to the solution notebook algorithm section if you need a hint.
  • [Solution Notebook] One or more algorithm solution discussions, with Big-O time and space complexities.

Hints

  • [Challenge Notebook] Provides on-demand incremental hints to help you arrive at the optimal solution. Coming soon!

Code (Challenge: Implement Me!)

  • [Challenge Notebook] Skeleton code for you to implement.
  • [Solution Notebook] One or more reference solutions.

Unit Test

  • [Challenge Notebook] Unit test for your code. Expected to fail until you solve the challenge.
  • [Solution Notebook] Unit test for the reference solution(s).

Index

Challenges Categories

Format: Challenge Category - Number of Challenges

Total number of challenges: 120

Reference Implementations: Data Structures

Unit tested, fully functional implementations of the following data structures:

Reference Implementations: Algorithms

Unit tested, fully functional implementations of the following algorithms:

Reference Implementations: TODO

Installing and Running Challenges

Misc

Challenges

Image Credits



Arrays and Strings

Challenge Static Notebook
Determine if a string contains unique characters ChallengeSolution
Determine if a string is a permutation of another ChallengeSolution
Determine if a string is a rotation of another ChallengeSolution
Compress a string ChallengeSolution
Reverse characters in a string ChallengeSolution
Given two strings, find the single different char ChallengeSolution
Find two indices that sum to a specific value ChallengeSolution
Implement a hash table ChallengeSolution
Implement fizz buzz ChallengeSolution
Find the first non-repeated character in a string ContributeContribute
Remove specified characters in a string ContributeContribute
Reverse words in a string ContributeContribute
Convert a string to an integer ContributeContribute
Convert an integer to a string ContributeContribute
Add a challenge ContributeContribute


Linked Lists

Challenge Static Notebook
Remove duplicates from a linked list ChallengeSolution
Find the kth to last element of a linked list ChallengeSolution
Delete a node in the middle of a linked list ChallengeSolution
Partition a linked list around a given value ChallengeSolution
Add two numbers whose digits are stored in a linked list ChallengeSolution
Find the start of a linked list loop ChallengeSolution
Determine if a linked list is a palindrome ChallengeSolution
Implement a linked list ChallengeSolution
Determine if a list is cyclic or acyclic ContributeContribute
Add a challenge ContributeContribute


Stacks and Queues

Challenge Static Notebook
Implement n stacks using a single array ChallengeSolution
Implement a stack that keeps track of its minimum element ChallengeSolution
Implement a set of stacks class that wraps a list of capacity-bounded stacks ChallengeSolution
Implement a queue using two stacks ChallengeSolution
Sort a stack using another stack as a buffer ChallengeSolution
Implement a stack ChallengeSolution
Implement a queue ChallengeSolution
Implement a priority queue backed by an array ChallengeSolution
Add a challenge ContributeContribute


Graphs and Trees

Challenge Static Notebooks
Implement depth-first search (pre-, in-, post-order) on a tree ChallengeSolution
Implement breadth-first search on a tree ChallengeSolution
Determine the height of a tree ChallengeSolution
Create a binary search tree with minimal height from a sorted array ChallengeSolution
Create a linked list for each level of a binary tree ChallengeSolution
Check if a binary tree is balanced ChallengeSolution
Determine if a tree is a valid binary search tree ChallengeSolution
Find the in-order successor of a given node in a binary search tree ChallengeSolution
Find the second largest node in a binary search tree ChallengeSolution
Find the lowest common ancestor ChallengeSolution
Invert a binary tree ChallengeSolution
Implement a binary search tree ChallengeSolution
Implement a min heap ChallengeSolution
Implement a trie ChallengeSolution
Implement depth-first search on a graph ChallengeSolution
Implement breadth-first search on a graph ChallengeSolution
Determine if there is a path between two nodes in a graph ChallengeSolution
Implement a graph ChallengeSolution
Find a build order given a list of projects and dependencies. ChallengeSolution
Find the shortest path in a weighted graph. ChallengeSolution
Find the shortest path in an unweighted graph. ChallengeSolution
Add a challenge ContributeContribute


Sorting

Challenge Static Notebooks
Implement selection sort ChallengeSolution
Implement insertion sort ChallengeSolution
Implement quick sort ChallengeSolution
Implement merge sort ChallengeSolution
Implement radix sort ChallengeSolution
Sort an array of strings so all anagrams are next to each other ChallengeSolution
Find an item in a sorted, rotated array ChallengeSolution
Search a sorted matrix for an item ChallengeSolution
Find an int not in an input of n integers ChallengeSolution
Given sorted arrays A, B, merge B into A in sorted order ChallengeSolution
Implement a stable selection sort ContributeContribute
Make an unstable sort stable ContributeContribute
Implement an efficient, in-place version of quicksort ContributeContribute
Given two sorted arrays, merge one into the other in sorted order ContributeContribute
Find an element in a rotated and sorted array of integers ContributeContribute
Add a challenge ContributeContribute


Recursion and Dynamic Programming

Challenge Static Notebooks
Implement fibonacci recursively, dynamically, and iteratively ChallengeSolution
Maximize items placed in a knapsack ChallengeSolution
Maximize unbounded items placed in a knapsack ChallengeSolution
Find the longest common subsequence ChallengeSolution
Find the longest increasing subsequence ChallengeSolution
Minimize the cost of matrix multiplication ChallengeSolution
Maximize stock prices given k transactions ChallengeSolution
Find the minimum number of ways to represent n cents given an array of coins ChallengeSolution
Find the unique number of ways to represent n cents given an array of coins ChallengeSolution
Print all valid combinations of n-pairs of parentheses ChallengeSolution
Navigate a maze ChallengeSolution
Print all subsets of a set ChallengeSolution
Print all permutations of a string ChallengeSolution
Find the magic index in an array ChallengeSolution
Find the number of ways to run up n steps ChallengeSolution
Implement the Towers of Hanoi with 3 towers and N disks ChallengeSolution
Implement factorial recursively, dynamically, and iteratively ContributeContribute
Perform a binary search on a sorted array of integers ContributeContribute
Print all combinations of a string ContributeContribute
Implement a paint fill function ContributeContribute
Find all permutations to represent n cents, given 1, 5, 10, 25 cent coins ContributeContribute
Add a challenge ContributeContribute


Mathematics and Probability

Challenge Static Notebooks
Generate a list of primes ChallengeSolution
Find the digital root ChallengeSolution
Create a class supporting insert, max, min, mean, mode in O(1) ChallengeSolution
Determine if a number is a power of two ChallengeSolution
Add two numbers without the + or - sign ChallengeSolution
Subtract two numbers without the + or - sign ChallengeSolution
Check if a number is prime ContributeContribute
Determine if two lines on a Cartesian plane intersect ContributeContribute
Using only add, implement multiply, subtract, and divide for ints ContributeContribute
Find the kth number such that the only prime factors are 3, 5, and 7 ContributeContribute
Add a challenge ContributeContribute


Bit Manipulation

Challenge Static Notebooks
Implement common bit manipulation operations ChallengeSolution
Determine number of bits to flip to convert a into b ChallengeSolution
Draw a line on a screen ChallengeSolution
Flip a bit to maximize the longest sequence of 1s ChallengeSolution
Get the next largest and next smallest numbers ChallengeSolution
Merge two binary numbers ChallengeSolution
Swap odd and even bits in an integer ChallengeSolution
Print the binary representation of a number between 0 and 1 ChallengeSolution
Determine the number of 1s in the binary representation of a given integer ContributeContribute
Add a challenge ContributeContribute


Online Judges

Challenge Static Notebooks
Find the longest substring with at most k distinct chars ChallengeSolution
Find the highest product of three numbers ChallengeSolution
Maximize stocks profit from 1 buy and 1 sell ChallengeSolution
Move all zeroes in a list to the end ChallengeSolution
Find the products of every other int ChallengeSolution
Given a list of entries and exits, find the busiest period ChallengeSolution
Determine an island's perimeter ChallengeSolution
Format license keys ChallengeSolution
Find the longest absolute file path ChallengeSolution
Merge tuple ranges ChallengeSolution
Assign cookies ChallengeSolution
Determine if you can win in Nim ChallengeSolution
Check if a magazine could have been used to create a ransom note ChallengeSolution
Find the number of times a sentence can fit on a screen ChallengeSolution
Utopian tree ChallengeSolution

This HTML preview is truncated for page performance. The canonical Markdown file contains the complete snapshot.

MARKDOWN METRICS
2596words
41headings
372links
3code blocks
MDRSS ASSESSMENT
Evidence46/100high confidence
Why MDRSS assigned this score
  • Production catalog audit 2026-08-04
  • Taxonomy classified from title, annotation, source and Markdown signals
  • Agent usefulness evaluated from structure, procedures, examples, evidence and retrieval value
Evidence (1)

Discussion 0

Sign in to join the discussion.