Algorithms, explained visually — step by step, so you can actually understand them
Step-by-step visual walkthroughs of the classic coding-interview problems — every figure animates, and every page reads in a warm editorial light or a focused dark theme. Toggle whichever suits the room.
Challenges
7 problemsTwo Sum
Brute-force every pair, then the one-pass hash map that makes the inner search vanish.
Remove Element
Pack the survivors to the front with a write pointer — plus the swap-from-end variant for rare removals.
Merge Sorted Array
Merge two sorted arrays in place by filling the empty tail from the back — no conflicts, no copy.
Remove Duplicates II
Keep at most two of each value in a sorted array, in a single in-place pass.
GCD of Strings
The largest string that tiles both — the Euclidean GCD trick, reimagined on text.
Maximum Subsequence Score
Maximize sum × min by sorting on the minimum and sweeping with a running heap.
Permit Streaks
Counting the subarrays that sum to a target — prefix sums meet a frequency map.
Concepts & deep-dives
3Why sorting is O(n log n)
A guided proof of the comparison-sort lower bound — why you can’t beat n log n.
Step Into: the merge, up close
A close-up on the single merge step that powers merge sort, explored three ways.
How a graph draws itself
A force simulation lays out a knowledge graph, and a Barnes–Hut quadtree cuts the O(n²) repulsion down to O(n log n) — plus the hash-join that diffs two versions in one pass.