Pattern
I. Two Pointer Patterns
Pattern 1: Two Pointers - Converging (Sorted Array Target Sum)
1. Two Sum
11. Container With Most Water
15. 3Sum
16. 3Sum Closest
18. 4Sum
167. Two Sum II - Input Array Is Sorted
349. Intersection of Two Arrays
881. Boats to Save People
977. Squares of a Sorted Array
259. 3Sum Smaller
Pattern 2: Two Pointers - Fast & Slow (Cycle Detection)
141. Linked List Cycle
202. Happy Number
287. Find the Duplicate Number
392. Is Subsequence
Pattern 3: Two Pointers - Fixed Separation (Nth Node from End)
19. Remove Nth Node From End of List
876. Middle of the Linked List
2095. Delete the Middle Node of a Linked List
Pattern 4: Two Pointers - In-place Array Modification
26. Remove Duplicates from Sorted Array
27. Remove Element
75. Sort Colors
80. Remove Duplicates from Sorted Array II
283. Move Zeroes
443. String Compression
905. Sort Array By Parity
2337. Move Pieces to Obtain a String
2938. Separate Black and White Balls
Pattern 5: Two Pointers - String Comparison with Backspaces
844. Backspace String Compare
Pattern 6: Two Pointers - Expanding From Center (Palindromes)
5. Longest Palindromic Substring
647. Palindromic Substrings
Pattern 7: Two Pointers - String Reversal
151. Reverse Words in a String
344. Reverse String
345. Reverse Vowels of a String
541. Reverse String II
II. Sliding Window Patterns
Pattern 8: Sliding Window - Fixed Size (Subarray Calculation)
346. Moving Average from Data Stream
643. Maximum Average Subarray I
2985. Calculate Compressed Mean
3254. Find the Power of K-Size Subarrays I
3318. Find X-Sum of All K-Long Subarrays I
Pattern 9: Sliding Window - Variable Size (Condition-Based)
3. Longest Substring Without Repeating Characters
76. Minimum Window Substring
209. Minimum Size Subarray Sum
219. Contains Duplicate II
424. Longest Repeating Character Replacement
713. Subarray Product Less Than K
904. Fruit Into Baskets
1004. Max Consecutive Ones III
1438. Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit
1493. Longest Subarray of 1's After Deleting One Element
1 1658. Minim
Pattern 10: Sliding Window - Monotonic Queue for Max/Min
239. Sliding Window Maximum
862. Shortest Subarray with Sum at Least K
1696. Jump Game VI
Pattern 11: Sliding Window - Character Frequency Matching
438. Find All Anagrams in a String
567. Permutation in String
III. Tree Traversal Patterns (DFS & BFS)
Pattern 12: Tree BFS - Level Order Traversal
102. Binary Tree Level Order Traversal
103. Binary Tree Zigzag Level Order Traversal
199. Binary Tree Right Side View
515. Find Largest Value in Each Tree Row
1161. Maximum Level Sum of a Binary Tree
Pattern 13: Tree DFS - Recursive Preorder Traversal
100. Same Tree
101. Symmetric Tree
105. Construct Binary Tree from Preorder and Inorder Traversal
114. Flatten Binary Tree to Linked List
226. Invert Binary Tree
257. Binary Tree Paths
988. Smallest String Starting From Leaf
Pattern 14: Tree DFS - Recursive Inorder Traversal
94. Binary Tree Inorder Traversal
98. Validate Binary Search Tree
173. Binary Search Tree Iterator
230. Kth Smallest Element in a BST
501. Find Mode in Binary Search Tree
530. Minimum Absolute Difference in BST
Pattern 15: Tree DFS - Recursive Postorder Traversal
104. Maximum Depth of Binary Tree
110. Balanced Binary Tree
124. Binary Tree Maximum Path Sum
145. Binary Tree Postorder Traversal
337. House Robber III
366. Find Leaves of Binary Tree
543. Diameter of Binary Tree
863. All Nodes Distance K in Binary Tree
1110. Delete Nodes And Return Forest
2458. Height of Binary Tree After Subtree Removal Queries
Pattern 17: Tree - Lowest Common Ancestor (LCA) Finding
235. Lowest Common Ancestor of a Binary Search Tree
236. Lowest Common Ancestor of a Binary Tree
Pattern 18: Tree - Serialization and Deserialization
297. Serialize and Deserialize Binary Tree
572. Subtree of Another Tree
652. Find Duplicate Subtrees
IV. Graph Traversal Patterns (DFS & BFS)
Pattern 19: Graph DFS - Connected Components / Island Counting
130. Surrounded Regions
200. Number of Islands
417. Pacific Atlantic Water Flow
547. Number of Provinces
695. Max Area of Island
733. Flood Fill
841. Keys and Rooms
1020. Number of Enclaves
1254. Number of Closed Islands
1905. Count Sub Islands
2101. Detonate the Maximum Bombs
Pattern 20: Graph BFS - Connected Components / Island Counting
127. Word Ladder
542. 01 Matrix
994. Rotting Oranges
1091. Shortest Path in Binary Matrix
Pattern 21: Graph DFS - Cycle Detection (Directed Graph)
207. Course Schedule
210. Course Schedule II
802. Find Eventual Safe States
1059. All Paths from Source Lead to Destination
Pattern 22: Graph BFS - Topological Sort (Kahn's Algorithm)
207. Course Schedule
210. Course Schedule II
269. Alien Dictionary
310. Minimum Height Trees
444. Sequence Reconstruction
1136. Parallel Courses
1857. Largest Color Value in a Directed Graph
2050. Parallel Courses III
2115. Find All Possible Recipes from Given Supplies
2392. Build a Matrix With Conditions
Pattern 23: Graph - Deep Copy / Cloning
133. Clone Graph
Pattern 24: Graph - Shortest Path (Dijkstra's Algorithm)
743. Network Delay Time
778. Swim in Rising Water
1514. Path with Maximum Probability
1631. Path With Minimum Effort
1976. Number of Ways to Arrive at Destination
2045. Second Minimum Time to Reach Destination
2203. Minimum Weighted Subgraph With the Required Paths
2290. Minimum Obstacle Removal to Reach Corner
2577. Minimum Time to Visit a Cell In a Grid
2812. Find the Safest Path in a Grid
Pattern 25: Graph - Shortest Path (Bellman-Ford / BFS+K)
787. Cheapest Flights Within K Stops
Pattern 26: Graph - Union-Find (Disjoint Set Union - DSU)
200. Number of Islands
261. Graph Valid Tree
305. Number of Islands II
323. Number of Connected Components in an Undirected Graph
3 547. Number of Provinces
684. Redundant Connection
4 721. Accounts Merge
737. Sentence Similarity II
947. Most Stones Removed with Same Row or Column
952. Largest Component Size by Common Factor
959. Regions Cut By Slashes
1101. The Earliest Moment When Everyone Become Friends
V. Dynamic Programming (DP) Patterns
Pattern 27: DP - 1D Array (Fibonacci Style)
70. Climbing Stairs
91. Decode Ways
198. House Robber
213. House Robber II
337. House Robber III
509. Fibonacci Number
740. Delete and Earn
746. Min Cost Climbing Stairs
Pattern 28: DP - 1D Array (Kadane's Algorithm for Max/Min Subarray)
53. Maximum Subarray
Pattern 29: DP - 1D Array (Coin Change / Unbounded Knapsack Style)
322. Coin Change
377. Combination Sum IV
518. Coin Change II
Pattern 30: DP - 1D Array (0/1 Knapsack Subset Sum Style)
416. Partition Equal Subset Sum
494. Target Sum
Pattern 31: DP - 1D Array (Word Break Style)
139. Word Break
140. Word Break II
Pattern 32: DP - 2D Array (Longest Common Subsequence - LCS)
583. Delete Operation for Two Strings
1143. Longest Common Subsequence
Pattern 33: DP - 2D Array (Edit Distance / Levenshtein Distance)
72. Edit Distance
Pattern 34: DP - 2D Array (Unique Paths on Grid)
62. Unique Paths
63. Unique Paths II
64. Minimum Path Sum
120. Triangle
221. Maximal Square
931. Minimum Falling Path Sum
1277. Count Square Submatrices with All Ones
Pattern 35: DP - Interval DP
312. Burst Balloons
546. Remove Boxes
Pattern 36: DP - Catalan Numbers
95. Unique Binary Search Trees II
96. Unique Binary Search Trees
241. Different Ways to Add Parentheses
Pattern 37: DP - Longest Increasing Subsequence (LIS)
300. Longest Increasing Subsequence
354. Russian Doll Envelopes
1671. Minimum Number of Removals to Make Mountain Array
2407. Longest Increasing Subsequence II
VI. Heap (Priority Queue) Patterns
Pattern 38: Heap - Top K Elements (Selection/Frequency)
215. Kth Largest Element in an Array
347. Top K Frequent Elements
451. Sort Characters By Frequency
506. Relative Ranks
703. Kth Largest Element in a Stream
973. K Closest Points to Origin
1046. Last Stone Weight
2558. Take Gifts From the Richest Pile
Pattern 39: Heap - Two Heaps for Median Finding
295. Find Median from Data Stream
1825. Finding MK Average
Pattern 40: Heap - K-way Merge
23. Merge k Sorted Lists
373. Find K Pairs with Smallest Sums
378. Kth Smallest Element in a Sorted Matrix
632. Smallest Range Covering Elements from K Lists
Pattern 41: Heap - Scheduling / Minimum Cost (Greedy with Priority Queue)
253. Meeting Rooms II
767. Reorganize String
857. Minimum Cost to Hire K Workers
1642. Furthest Building You Can Reach
1792. Maximum Average Pass Ratio
1834. Single-Threaded CPU
1942. The Number of the Smallest Unoccupied Chair
2402. Meeting Rooms III
VII. Backtracking Patterns
Pattern 42: Backtracking - Subsets (Include/Exclude)
17. Letter Combinations of a Phone Number
77. Combinations
78. Subsets
90. Subsets II
Pattern 43: Backtracking - Permutations
31. Next Permutation
46. Permutations
60. Permutation Sequence
Pattern 44: Backtracking - Combination Sum
39. Combination Sum
40. Combination Sum II
Pattern 45: Backtracking - Parentheses Generation
22. Generate Parentheses
301. Remove Invalid Parentheses
Pattern 46: Backtracking - Word Search / Path Finding in Grid
79. Word Search
212. Word Search II
2018. Check if Word Can Be Placed In Crossword
Pattern 47: Backtracking - N-Queens / Constraint Satisfaction
37. Sudoku Solver
51. N-Queens
Pattern 48: Backtracking - Palindrome Partitioning
131. Palindrome Partitioning
VIII. Greedy Patterns
Pattern 49: Greedy - Interval Merging/Scheduling
56. Merge Intervals
57. Insert Interval
759. Employee Free Time
986. Interval List Intersections
2406. Divide Intervals Into Minimum Number of Groups
Pattern 51: Greedy - Jump Game Reachability/Minimization
45. Jump Game II
55. Jump Game
Pattern 52: Greedy - Buy/Sell Stock
121. Best Time to Buy and Sell Stock
122. Best Time to Buy and Sell Stock II
Pattern 53: Greedy - Gas Station Circuit
134. Gas Station
Pattern 54: Greedy - Task Scheduling (Frequency Based)
621. Task Scheduler
IX. Binary Search Patterns
Pattern 55: Binary Search - On Sorted Array/List
35. Search Insert Position
69. Sqrt(x)
74. Search a 2D Matrix
278. First Bad Version
374. Guess Number Higher or Lower
540. Single Element in a Sorted Array
704. Binary Search
1539. Kth Missing Positive Number
Pattern 56: Binary Search - Find Min/Max in Rotated Sorted Array
33. Search in Rotated Sorted Array
81. Search in Rotated Sorted Array II
153. Find Minimum in Rotated Sorted Array
5 162. Find Peak Element
852. Peak Index in a Mountain Array
1095. Find in Mountain Array
Pattern 57: Binary Search - On Answer / Condition Function
410. Split Array Largest Sum
774. Minimize Max Distance to Gas Station
875. Koko Eating Bananas
1011. Capacity To Ship Packages 6 Within D Days
1482. Minimum Number of Days to Make m Bouquets
1760. Minimum Limit of Balls in a Bag
2064. Minimized Maximum of Products Distributed to Any Store
2226. Maximum Candies Allocated to K Children
Pattern 58: Binary Search - Find First/Last Occurrence
34. Find First and Last Position of Element in Sorted Array
658. Find K Closest Elements
Pattern 59: Binary Search - Median of Two Sorted Arrays
4. Median of Two Sorted Arrays
X. Stack Patterns
Pattern 60: Stack - Valid Parentheses Matching
20. Valid Parentheses
32. Longest Valid Parentheses
921. Minimum Add to Make Parentheses Valid
1249. Minimum Remove to Make Valid Parentheses
1963. Minimum Number of Swaps to Make the String Balanced
Pattern 61: Stack - Monotonic Stack
402. Remove K Digits
496. Next Greater Element I
503. Next Greater Element II
739. Daily Temperatures
901. Online Stock Span
907. Sum of Subarray Minimums
962. Maximum Width Ramp
1475. Final Prices With a Special Discount in a Shop
1673. Find the Most Competitive Subsequence
Pattern 62: Stack - Expression Evaluation (RPN/Infix)
150. Evaluate Reverse Polish Notation
224. Basic Calculator
227. Basic Calculator II
772. Basic Calculator III
Pattern 63: Stack - Simulation / Backtracking Helper
71. Simplify Path
394. Decode String
735. Asteroid Collision
Pattern 64: Stack - Min Stack Design
155. Min Stack
Pattern 65: Stack - Largest Rectangle in Histogram
84. Largest Rectangle in Histogram
85. Maximal Rectangle
XI. Bit Manipulation Patterns
Pattern 66: Bitwise XOR - Finding Single/Missing Number
136. Single Number
137. Single Number II
268. Missing Number
389. Find the Difference
Pattern 67: Bitwise AND - Counting Set Bits (Hamming Weight)
191. Number of 1 Bits
Pattern 70: Bitwise DP - Counting Bits Optimization
338. Counting Bits
Pattern 69: Bitwise Operations - Power of Two/Four Check
231. Power of Two
342. Power of Four
XII. Linked List Manipulation Patterns
Pattern 71: Linked List - In-place Reversal
83. Remove Duplicates from Sorted List
92. Reverse Linked List II
206. Reverse Linked List
25. Reverse Nodes in k-Group
234. Palindrome Linked List
82. Remove Duplicates from Sorted List II
Pattern 72: Linked List - Merging Two Sorted Lists
21. Merge Two Sorted Lists
Pattern 73: Linked List - Addition of Numbers
2. Add Two Numbers
369. Plus One Linked List
Pattern 74: Linked List - Intersection Detection
160. Intersection of Two Linked Lists
Pattern 75: Linked List - Reordering / Partitioning
24. Swap Nodes in Pairs
61. Rotate List
86. Partition List
143. Reorder List
328. Odd Even Linked List
XIII. Array/Matrix Manipulation Patterns
Pattern 76: Array/Matrix - In-place Rotation
48. Rotate Image
189. Rotate Array
Pattern 77: Array/Matrix - Spiral Traversal
54. Spiral Matrix
885. Spiral Matrix III
2326. Spiral Matrix IV
Pattern 78: Array/Matrix - Set Matrix Zeroes (In-place Marking)
73. Set Matrix Zeroes
Pattern 79: Array - Product Except Self (Prefix/Suffix Products)
238. Product of Array Except Self
Pattern 80: Array - Plus One (Handling Carry)
66. Plus One
Pattern 81: Array - Merge Sorted Array (In-place from End)
88. Merge Sorted Array
Pattern 82: Array - Cyclic Sort
41. First Missing Positive
268. Missing Number
287. Find the Duplicate Number
442. Find All Duplicates in an Array
448. Find All Numbers Disappeared in an Array
Pattern 83: Array - Kadane's Variant for Maximum Product
152. Maximum Product Subarray
XIV. String Manipulation Patterns
Pattern 84: String - Palindrome Check (Two Pointers / Reverse)
9. Palindrome Number
125. Valid Palindrome
680. Valid Palindrome II
Pattern 85: String - Anagram Check (Frequency Count/Sort)
49. Group Anagrams
242. Valid Anagram
Pattern 86: String - Roman to Integer Conversion
13. Roman to Integer
Pattern 87: String - String to Integer (atoi)
8. String to Integer (atoi)
Pattern 88: String - Multiply Strings (Manual Simulation)
43. Multiply Strings
Pattern 89: String Matching - Naive / KMP / Rabin-Karp
28. Find the Index of the First Occurrence in a String
214. Shortest Palindrome
686. Repeated String Match
796. Rotate String
3008. Find Beautiful Indices in the Given Array II
Pattern 90: String - Repeated Substring Pattern Detection
459. Repeated Substring Pattern
XV. Design Patterns
Pattern 91: Design (General/Specific)
146. LRU Cache
155. Min Stack
208. Implement Trie (Prefix Tree)
211. Design Add and Search Words Data Structure
225. Implement Stack using Queues
232. Implement Queue using Stacks
251. Flatten 2D Vector
271. Encode and Decode Strings
295. Find Median from Data Stream
341. Flatten Nested List Iterator
346. Moving Average from Data Stream
353. Design Snake Game
359. Logger Rate Limiter
362. Design Hit Counter
379. De