Loading
Live visuals
Play, pause and step through an algorithm while watching its state, its variables and the line it is executing. Every frame comes from actually running the code, so what you see is what happens.
Find a pair summing to a target in a sorted array. Each comparison eliminates one endpoint permanently, which is why a single pass suffices.
Move every zero to the end of an array without allocating a second one. A read pointer visits each slot while a write pointer trails behind marking where the next kept value belongs; the gap between them is the number of values discarded so far.
Find the longest stretch with no repeated character. The right edge grows the window; the left edge only moves to restore validity. Neither ever moves backwards.
Locate a value in a sorted array by halving the interval. Each comparison discards half of what remains, so a million elements take about twenty steps.
Reverse a singly linked list by reassigning one pointer at a time. The whole difficulty is that overwriting next destroys your route to the rest of the list, so it must be saved first.
Explore level by level using a queue. Because nodes are reached in order of distance, the first time BFS touches a node it has arrived by a shortest path.
Follow one path as far as it goes, then retreat and try the next. Compare it with breadth-first search on the same graph: DFS finds a path, not the shortest one.