See algorithms think.
Demystify complex data structures and tricky pointer logic. Watch variables mutate, recursion trees unfold, and memory state evolve in real time.
Arrays & Hashing10 problems
Contains Duplicate
Set fills up, duplicate highlights
Valid Anagram
Two count tables compared
Two Sum
Hashmap grows, complement lookup
Majority Element
Boyer-Moore candidate and count
Missing Number
Sum / XOR running value
Number of 1 Bits
Bits shifting right, count increments
Group Anagrams
Sorted-key buckets forming
Top K Frequent Elements
Count map, then bucket by frequency
Product of Array Except Self
Prefix pass, then suffix pass
Longest Consecutive Sequence
Set + only start counting at sequence start
Two Pointers7 problems
Valid Palindrome
Pointers converge, skip non-alphanumeric
Two Sum II - Input Array Is Sorted
Sum compared to target, pointer moves
Move Zeroes
Write pointer vs read pointer
Sort Colors
Dutch flag: low / mid / high
Container With Most Water
Area bars, move shorter side
3Sum
Fixed i + inner 2 pointers, skip duplicates
Trapping Rain Water
Water level fills per bar, left/right max
Sliding Window4 problems
Best Time to Buy and Sell Stock
Min price so far, best profit
Longest Substring Without Repeating Characters
Window + char index map
Minimum Window Substring
Need/have counters, window shrink
Sliding Window Maximum
Monotonic deque contents each step
Prefix Sum & Kadane4 problems
Maximum Subarray
Kadane: extend vs restart
Maximum Product Subarray
Track max and min product together
Subarray Sum Equals K
Prefix sum map lookup
Next Permutation
Find pivot, swap, reverse suffix
Matrix3 problems
Set Matrix Zeroes
First row/col as markers
Spiral Matrix
Four boundaries closing in
Rotate Image
Transpose, then reverse rows
Intervals & Greedy4 problems
Merge Intervals
Sorted bars merging on a timeline
Insert Interval
Before / overlap / after zones
Non-overlapping Intervals
Greedy: keep earliest end
Jump Game
Farthest reachable index grows
Stack3 problems
Valid Parentheses
Push open, pop on match
Min Stack
Value stack + min stack side by side
Daily Temperatures
Monotonic stack, pops resolve answers
Binary Search7 problems
Binary Search
low, mid, high markers, discarded half greys out
Search a 2D Matrix
Matrix treated as flattened array
Koko Eating Bananas
Binary search on answer, hours calculated
Find Minimum in Rotated Sorted Array
Which half is sorted
Search in Rotated Sorted Array
Sorted half check, then target check
Time Based Key-Value Store
Binary search inside timestamp list
Median of Two Sorted Arrays
Partition lines across both arrays
Linked List10 problems
Reverse Linked List
prev / curr / next pointer rewiring
Merge Two Sorted Lists
Dummy node, tail pointer
Linked List Cycle
Slow and fast pointers meet
Palindrome Linked List
Find middle, reverse half, compare
Remove Nth Node From End of List
Gap of n between two pointers
Reorder List
Split, reverse, interleave
Add Two Numbers
Digit by digit with carry
Copy List with Random Pointer
Old to new node map
LRU Cache
HashMap + doubly linked list, move to front
Reverse Nodes in k-Group
Group reversal and reconnection
Trees14 problems
Maximum Depth of Binary Tree
Recursion stack + returned depth
Invert Binary Tree
Children swap at each node
Same Tree
Two trees compared node by node
Subtree of Another Tree
Match attempt at each node
Diameter of Binary Tree
Height returned, best path updated
Binary Tree Level Order Traversal
Queue contents per level
Binary Tree Right Side View
Last node of each level highlighted
Validate Binary Search Tree
Low/high bounds passed down
Kth Smallest Element in a BST
Inorder traversal counter
Lowest Common Ancestor of a Binary Search Tree
Walk down by comparing values
Lowest Common Ancestor of a Binary Tree
Return values bubbling up
Construct Binary Tree from Preorder and Inorder Traversal
Root pick, array split
Binary Tree Maximum Path Sum
Gain returned vs global best
Serialize and Deserialize Binary Tree
Preorder string with null markers
Heap / Priority Queue5 problems
Kth Largest Element in an Array
Min-heap of size k
K Closest Points to Origin
Distances in a heap
Task Scheduler
Max-heap + cooldown queue timeline
Find Median from Data Stream
Two heaps balancing
Merge k Sorted Lists
Heap holds one node per list
Backtracking6 problems
Subsets
Include / exclude decision tree
Permutations
Used array + path building
Combination Sum
Remaining target shrinking
Letter Combinations of a Phone Number
Digit to letters tree
Generate Parentheses
Open / close counts valid branches
Word Search
Grid DFS with visited cells and undo
Trie3 problems
Implement Trie (Prefix Tree)
Nodes created per character
Design Add and Search Words Data Structure
Wildcard branching
Word Search II
Trie guides grid DFS
Graphs8 problems
Number of Islands
Flood fill colors each island
Rotting Oranges
Multi-source BFS minute by minute
Clone Graph
Old to new node map
Pacific Atlantic Water Flow
Two reverse DFS and overlap
Course Schedule
Cycle detection / in-degree
Course Schedule II
Topological order building
Word Ladder
BFS levels of word transformations
Network Delay Time
Dijkstra distances relaxing
Dynamic Programming12 problems
Climbing Stairs
Fibonacci table / memo hits
House Robber
Take / skip per index
House Robber II
Two runs: exclude first / last
Coin Change
1D dp amount table fills
Longest Increasing Subsequence
dp[i] built from earlier indexes
Word Break
dp over prefixes, dictionary match
Decode Ways
One-digit / two-digit choices
Unique Paths
2D grid sum from top and left
Longest Common Subsequence
2D table, match or max of neighbours
Edit Distance
2D table: insert / delete / replace
Partition Equal Subset Sum
Subset-sum boolean table
Longest Palindromic Substring
Expand around centre / dp grid