- Sliding Window – Subarrays/substrings, max/min sum, longest/shortest length problems.
- Two Pointers – Pairs in sorted arrays, removing duplicates, palindrome checks.
- Fast & Slow Pointers (Floyd’s cycle) – Detect cycles in linked lists/arrays.
- Merge Intervals – Overlapping intervals, scheduling problems.
- Cyclic Sort – Sorting numbers when they’re in a known range (1 to n).
- In-place Reversal of Linked List – Reverse list/part of list, rotate list.
- Tree Traversals (DFS & BFS) – Level order, preorder/inorder/postorder, zigzag.
- Binary Search (on answer / search space) – Classic binary search, min/max optimization.
- Top K Elements (Heap / Quickselect) – Kth largest, top frequent elements.
- Two Heaps – Median of data stream, balance problems.
- Subsets (Backtracking / Bitmask) – Power set, combinations, permutations.
- Modified BFS/DFS – Shortest path in grid/graph, islands problem.
- Dynamic Programming (DP patterns)
- 0/1 Knapsack
- Unbounded Knapsack
- Fibonacci sequence style
- Longest Common Subsequence (LCS)
- Palindromic subsequences/substrings
- Matrix DP (grid problems)
- Graph Patterns – Topological sort, Union-Find, Dijkstra, Bellman-Ford.
- Greedy – Activity selection, Huffman coding, minimum platforms.
- Divide & Conquer – Merge sort, quicksort, binary search variations.
- Monotonic Stack/Queue – Next greater element, sliding window maximum.
- Prefix Sum / Difference Array – Range queries, subarray sums.
- Hashing & Counting – Frequency maps, anagrams, subarray sums.
- Bit Manipulation – XOR tricks, subsets, single number, bitmask DP.
👉 These cover 90%+ of LeetCode/Interview problems.