Step-by-step animated visualizations
Master DSA
Visually
Loopscope turns algorithms into animated, interactive lessons. Brute force → optimized, step-by-step narration, live variable tracking.
Start learningNo account needed
Brute force → Optimized tabs
Atomic step narration
Live variable tracking
Code sync highlighting
Keyboard-first playback
All Tracks
⇄
Two Pointers
Opposite-ends & same-direction pointer techniques
0/5
▭
Sliding Window
Fixed and variable window over a contiguous subarray
0/2
⌗
Binary Search
Halve the search space each iteration
0/28
Binary Search
easy
Search Insert Position
easy
Find Min in Rotated Array
medium
Lower Bound
Neweasy
Upper Bound
Neweasy
Floor and Ceil in Sorted Array
Neweasy
First and Last Occurrence
Newmedium
Search in Rotated Sorted Array
Newmedium
Search in Rotated Sorted Array II
Newmedium
Count Rotations in Sorted Array
Newmedium
Single Element in Sorted Array
Newmedium
Square Root of a Number
Neweasy
N-th Root of a Number
Newmedium
Find Peak Element
Newmedium
Smallest Divisor
Newmedium
Koko Eating Bananas
Newmedium
Minimum Days to Make M Bouquets
Newhard
Aggressive Cows
Newhard
Book Allocation Problem
Newhard
Split Array — Largest Sum
Newhard
Minimise Max Distance to Gas Station
Newhard
Median of Two Sorted Arrays
Newhard
K-th Element of Two Sorted Arrays
Newhard
Search in a 2D Matrix
Newmedium
Search in a 2D Matrix II
Newmedium
Find Peak Element II
Newhard
Matrix Median
Newhard
Find Row with Maximum 1s
Newmedium
↕
Sorting
Classic comparison-based sorting algorithms
0/3
▤
Stack
LIFO structure & monotonic-stack techniques
0/15
Next Greater Element
Newmedium
Next Greater Element II
Newmedium
Asteroid Collision
Newmedium
Sum of Subarray Minimums
Newmedium
Sum of Subarray Ranges
Newmedium
Remove K Digits
Newmedium
Min Stack
Newmedium
Sliding Window Maximum
Newhard
Trapping Rainwater
Newhard
Stock Span Problem
Newmedium
Largest Rectangle in Histogram
Newhard
Maximal Rectangle
Newhard
Celebrity Problem
Newmedium
LRU Cache
Newmedium
LFU Cache
Newhard
↻
Recursion
Reduce a problem to smaller versions of itself
0/17
Pow(x, n)
Newmedium
Generate Parentheses
Newmedium
Power Set
Newmedium
Subsequence Sum Exists
Newmedium
Count Subsequences with Sum K
Newmedium
Combination Sum
Newmedium
Combination Sum II
Newmedium
Subset Sums
Neweasy
Subsets II
Newmedium
Combination Sum III
Newmedium
Letter Combinations of a Phone Number
Newmedium
Palindrome Partitioning
Newmedium
Word Search
Newmedium
N-Queens
Newhard
Rat in a Maze
Newmedium
M Coloring Problem
Newhard
Sudoku Solver
Newhard
⛓
Linked List
Relink nodes in place with pointer bookkeeping
0/18
Reverse a Linked List
Neweasy
Find Middle of Linked List
Neweasy
Merge Two Sorted Lists
Newmedium
Delete the Middle Node
Newmedium
Sort a Linked List
Newmedium
Sort a Linked List of 0s, 1s and 2s
Newmedium
Remove N-th Node from the End
Newmedium
Add One to a Number
Newmedium
Add Two Numbers in Linked List
Newmedium
Segregate Odd and Even Nodes
Newmedium
Detect a Loop
Newmedium
Find the Loop's Starting Point
Newmedium
Length of the Loop
Newmedium
Check if a List is a Palindrome
Newmedium
Intersection of Two Lists
Newmedium
Rotate a Linked List
Newmedium
Reverse in Groups of K
Newhard
Flatten a Linked List
Newhard
⑂
Trees
Hierarchical data structures and traversal algorithms
0/2
G
Graphs
Traverse connected nodes and edges efficiently
0/8
Language & Runtime
JS0/6
Core JavaScript
Call stack, event loop, microtasks — the language runtime itself
Execution Model
Call Stack Basics
easyEvent Loop & Output Order
Sync, Microtask, Macrotask — What Prints First?new
easyTwo Promise Chains — Why They Interleavenew
mediumasync / await Output Ordernew
mediumsetTimeout in a Loop — var vs letnew
easyReact Hooks
useCounter — Custom Hook Anatomynew
easy⬢0/4
Node.js Runtime
libuv phases, nextTick, setImmediate, timers and file I/O ordering
Microtask Queues
process.nextTick vs Promise Microtasksnew
mediumPhases, Immediates & I/O
setImmediate vs setTimeout(fn, 0)new
mediumfs.readFile and the Poll Phasenew
hard