Use sorting + two pointers to find triplets that sum to zero.
Two pointers from both ends, greedily track max area.
Use a HashSet to check sequence starts efficiently.
Sliding window + HashSet/Map.
Sliding window + two pointers + character frequency count.
Stack to match open/close brackets.
Monotonic stack pattern.
Iterative or recursive reversal.
Floyd’s Tortoise and Hare.
Merge like merge sort.
BFS using queue.
Post-order DFS to compute depths.
Leverage BST properties in recursion.
Classic power set generation.
Backtracking with choices and pruning.
DFS with backtracking on grid.
DFS or BFS flood-fill.
DFS with hashmap for visited nodes.
Topological sort via DFS or Kahn’s algo.
Union-Find to detect cycle.
Classic DP or Fibonacci optimization.
DP over choices: rob or skip.
Expand around center or DP table.
Unbounded knapsack DP.
Subset sum DP (1D array can optimize).