- Arrays & Strings
- Two Pointers & Sliding Window
- Hash Maps & Sets
- Stack & Queue
- Linked Lists
- Trees & Binary Search Trees
- Trie (Prefix Tree)
- Graphs & BFS/DFS
- Dynamic Programming
- Backtracking
- Heap & Priority Queue
- Binary Search
- Intervals
- Greedy Algorithms
- Bit Manipulation
- Design Problems
- Recursion
- Sorting & Searching
- Math & Geometry
- Advanced Topics
- 1. Two Sum - Classic hash map problem, foundation for many others
- 26. Remove Duplicates from Sorted Array - Two pointer in-place modification
- 27. Remove Element - In-place array manipulation
- 53. Maximum Subarray - Kadane's algorithm
- 66. Plus One - Array carry propagation
- 88. Merge Sorted Array - Two pointer merge from end
- 118. Pascal's Triangle - 2D array generation
- 121. Best Time to Buy and Sell Stock - Single pass tracking minimum
- 169. Majority Element - Boyer-Moore voting algorithm
- 217. Contains Duplicate - Hash set usage
- 242. Valid Anagram - Frequency counting
- 268. Missing Number - Multiple approaches (XOR, math, sorting)
- 448. Find All Numbers Disappeared in Array - In-place marking technique
- 605. Can Place Flowers - Greedy placement checking
- 3. Longest Substring Without Repeating Characters - Classic sliding window
- 5. Longest Palindromic Substring - Expand around center
- 11. Container With Most Water - Two pointers greedy
- 15. 3Sum - Two pointers with sorting, duplicate handling
- 16. 3Sum Closest - Two pointers variant
- 18. 4Sum - Extension of 3Sum pattern
- 31. Next Permutation - Array rearrangement in-place
- 33. Search in Rotated Sorted Array - Modified binary search
- 36. Valid Sudoku - Hash set validation
- 48. Rotate Image - Matrix manipulation in-place
- 49. Group Anagrams - Hash map with sorted key
- 54. Spiral Matrix - Boundary tracking pattern
- 55. Jump Game - Greedy reachability
- 56. Merge Intervals - Interval merging
- 75. Sort Colors - Dutch national flag (3-way partition)
- 128. Longest Consecutive Sequence - Hash set O(n) solution
- 152. Maximum Product Subarray - DP tracking min and max
- 167. Two Sum II - Two pointers on sorted array
- 189. Rotate Array - Reversal algorithm
- 238. Product of Array Except Self - Prefix/suffix product technique
- 287. Find the Duplicate Number - Floyd's cycle detection
- 289. Game of Life - In-place state encoding
- 334. Increasing Triplet Subsequence - Greedy two variable tracking
- 347. Top K Frequent Elements - Bucket sort or heap
- 560. Subarray Sum Equals K - Prefix sum with hash map
- 739. Daily Temperatures - Monotonic stack pattern
- 4. Median of Two Sorted Arrays - Binary search partition
- 41. First Missing Positive - In-place hashing
- 42. Trapping Rain Water - Two pointers or stack approach
- 76. Minimum Window Substring - Sliding window with frequency map
- 84. Largest Rectangle in Histogram - Monotonic stack
- 85. Maximal Rectangle - Extension of histogram
- 239. Sliding Window Maximum - Deque for maintaining window maximum
- 125. Valid Palindrome - Basic two pointer technique
- 283. Move Zeroes - In-place array manipulation
- 344. Reverse String - Foundation for string manipulation
- 392. Is Subsequence - Two pointer matching
- 3. Longest Substring Without Repeating Characters - Classic sliding window
- 11. Container With Most Water - Two pointers with greedy choice
- 15. 3Sum - Two pointers after sorting
- 424. Longest Repeating Character Replacement - Sliding window with character count
- 438. Find All Anagrams in String - Fixed window sliding
- 567. Permutation in String - Fixed-size sliding window with frequency matching
- 713. Subarray Product Less Than K - Sliding window with product
- 30. Substring with Concatenation of All Words - Complex sliding window
- 76. Minimum Window Substring - Variable-size window optimization
- 239. Sliding Window Maximum - Deque technique
- 1. Two Sum - Hash map for O(n) lookup
- 13. Roman to Integer - Hash map lookup
- 217. Contains Duplicate - Basic set usage
- 242. Valid Anagram - Frequency map
- 383. Ransom Note - Frequency counting
- 387. First Unique Character in String - Frequency counting
- 49. Group Anagrams - Hash map with sorted key or frequency tuple
- 128. Longest Consecutive Sequence - Set for O(1) lookups
- 146. LRU Cache - Hash map + doubly linked list
- 380. Insert Delete GetRandom O(1) - Array + hash map combination
- 454. 4Sum II - Hash map to split problem
- 560. Subarray Sum Equals K - Prefix sum hash map
- 895. Maximum Frequency Stack - Nested hash maps with frequency tracking
- 20. Valid Parentheses - Classic stack problem
- 225. Implement Stack using Queues - Queue simulation
- 232. Implement Queue using Stacks - Stack simulation
- 496. Next Greater Element I - Monotonic stack intro
- 150. Evaluate Reverse Polish Notation - Stack for expression evaluation
- 155. Min Stack - Stack with auxiliary structure
- 227. Basic Calculator II - Stack for operators
- 394. Decode String - Nested bracket handling with stack
- 503. Next Greater Element II - Circular array with stack
- 739. Daily Temperatures - Monotonic stack for next greater element
- 853. Car Fleet - Stack with sorting
- 901. Online Stock Span - Monotonic stack
- 84. Largest Rectangle in Histogram - Monotonic stack pattern
- 85. Maximal Rectangle - Extension of histogram problem
- 224. Basic Calculator - Stack with parentheses
- 21. Merge Two Sorted Lists - Basic linked list manipulation
- 83. Remove Duplicates from Sorted List - Single pass removal
- 141. Linked List Cycle - Floyd's cycle detection
- 160. Intersection of Two Linked Lists - Two pointer alignment
- 203. Remove Linked List Elements - Node removal
- 206. Reverse Linked List - Iterative and recursive approaches
- 234. Palindrome Linked List - Find middle and reverse
- 876. Middle of the Linked List - Fast/slow pointers
- 2. Add Two Numbers - Carry handling in linked lists
- 19. Remove Nth Node From End - Two pointer technique
- 24. Swap Nodes in Pairs - Pointer manipulation
- 61. Rotate List - Find length and reconnect
- 86. Partition List - Two list splitting
- 92. Reverse Linked List II - Partial reversal
- 138. Copy List with Random Pointer - Hash map for node cloning
- 142. Linked List Cycle II - Floyd's cycle detection with start
- 143. Reorder List - Find middle, reverse, merge
- 146. LRU Cache - Doubly linked list implementation
- 148. Sort List - Merge sort on linked list
- 23. Merge k Sorted Lists - Heap or divide-and-conquer
- 25. Reverse Nodes in k-Group - Complex pointer manipulation
- 94. Binary Tree Inorder Traversal - Recursive and iterative
- 100. Same Tree - Tree comparison recursion
- 101. Symmetric Tree - Mirror checking
- 104. Maximum Depth of Binary Tree - Simple DFS/BFS
- 108. Convert Sorted Array to BST - Balanced BST construction
- 110. Balanced Binary Tree - Height checking
- 111. Minimum Depth of Binary Tree - BFS or DFS
- 112. Path Sum - Root to leaf path
- 226. Invert Binary Tree - Classic tree recursion
- 235. Lowest Common Ancestor of BST - BST property usage
- 257. Binary Tree Paths - Path collection
- 543. Diameter of Binary Tree - Path through nodes
- 572. Subtree of Another Tree - Tree matching
- 617. Merge Two Binary Trees - Tree merging
- 95. Unique Binary Search Trees II - Generate all BSTs
- 96. Unique Binary Search Trees - Catalan number DP
- 98. Validate Binary Search Tree - BST property checking
- 102. Binary Tree Level Order Traversal - BFS with queue
- 103. Binary Tree Zigzag Level Order - BFS with alternating direction
- 105. Construct Binary Tree from Preorder and Inorder - Tree reconstruction
- 106. Construct from Inorder and Postorder - Tree reconstruction variant
- 113. Path Sum II - All root-to-leaf paths
- 114. Flatten Binary Tree to Linked List - In-place flattening
- 116. Populating Next Right Pointers - Level linking
- 117. Populating Next Right Pointers II - General tree variant
- 124. Binary Tree Maximum Path Sum - Post-order with global maximum
- 129. Sum Root to Leaf Numbers - Path sum calculation
- 144. Binary Tree Preorder Traversal - Iterative preorder
- 173. BST Iterator - Controlled inorder traversal
- 199. Binary Tree Right Side View - Level order last element
- 222. Count Complete Tree Nodes - Binary search on tree
- 230. Kth Smallest Element in BST - Inorder traversal
- 236. Lowest Common Ancestor - Classic tree recursion
- 297. Serialize and Deserialize Binary Tree - Tree encoding/decoding
- 337. House Robber III - Tree DP
- 450. Delete Node in BST - BST deletion
- 508. Most Frequent Subtree Sum - Hash map with DFS
- 513. Find Bottom Left Tree Value - Level order traversal
- 515. Find Largest Value in Each Row - Level order max tracking
- 662. Maximum Width of Binary Tree - BFS with indexing
- 1448. Count Good Nodes - DFS with max tracking
- 124. Binary Tree Maximum Path Sum - Path through node consideration
- 145. Binary Tree Postorder Traversal - Iterative postorder
- 297. Serialize and Deserialize Binary Tree - Complete tree serialization
- 987. Vertical Order Traversal - Complex sorting with coordinates
- 14. Longest Common Prefix - String prefix comparison (can use Trie)
- 208. Implement Trie - Basic Trie implementation
- 211. Design Add and Search Words - Trie with wildcard search
- 648. Replace Words - Trie for finding shortest prefix
- 677. Map Sum Pairs - Trie with value aggregation
- 720. Longest Word in Dictionary - Trie building with validation
- 1268. Search Suggestions System - Trie for autocomplete
- 212. Word Search II - Trie + backtracking on 2D board
- 421. Maximum XOR of Two Numbers - Binary Trie for XOR
- 472. Concatenated Words - Trie with word break
- 1233. Remove Sub-Folders - Trie for folder paths
- 463. Island Perimeter - Grid traversal counting
- 733. Flood Fill - Basic DFS/BFS
- 997. Find the Town Judge - In-degree/out-degree
- 130. Surrounded Regions - DFS from boundary
- 133. Clone Graph - Graph cloning with hash map
- 200. Number of Islands - Connected components
- 207. Course Schedule - Cycle detection (topological sort)
- 210. Course Schedule II - Topological ordering
- 261. Graph Valid Tree - Union-find or DFS
- 286. Walls and Gates - Multi-source BFS
- 310. Minimum Height Trees - Tree center finding
- 323. Number of Connected Components - Union-find
- 417. Pacific Atlantic Water Flow - DFS from boundaries
- 433. Minimum Genetic Mutation - BFS shortest path
- 684. Redundant Connection - Union-find cycle detection
- 695. Max Area of Island - DFS with size tracking
- 721. Accounts Merge - Union-find with strings
- 743. Network Delay Time - Dijkstra's algorithm
- 785. Is Graph Bipartite - BFS/DFS coloring
- 797. All Paths From Source to Target - Backtracking in DAG
- 841. Keys and Rooms - DFS reachability
- 994. Rotting Oranges - Multi-source BFS with time
- 1020. Number of Enclaves - DFS from boundary
- 1091. Shortest Path in Binary Matrix - BFS 8-directional
- 1306. Jump Game III - BFS/DFS reachability
- 127. Word Ladder - BFS shortest path
- 126. Word Ladder II - BFS + backtracking
- 269. Alien Dictionary - Topological sort
- 329. Longest Increasing Path in Matrix - DFS with memoization
- 787. Cheapest Flights Within K Stops - Modified Dijkstra/Bellman-Ford
- 778. Swim in Rising Water - Binary search + BFS or Dijkstra
- 70. Climbing Stairs - Basic 1D DP
- 118. Pascal's Triangle - 2D DP pattern
- 119. Pascal's Triangle II - Space optimized
- 121. Best Time to Buy and Sell Stock - State machine DP
- 338. Counting Bits - DP with bit manipulation
- 509. Fibonacci Number - Classic DP intro
- 746. Min Cost Climbing Stairs - 1D DP variant
- 5. Longest Palindromic Substring - 2D DP or expand around center
- 22. Generate Parentheses - DP or backtracking
- 45. Jump Game II - Greedy or DP
- 55. Jump Game - Greedy reachability
- 62. Unique Paths - 2D grid DP
- 63. Unique Paths II - Grid DP with obstacles
- 64. Minimum Path Sum - Grid path DP
- 91. Decode Ways - 1D DP with transitions
- 120. Triangle - Bottom-up DP
- 139. Word Break - 1D DP with substring checking
- 152. Maximum Product Subarray - Track min and max products
- 198. House Robber - Classic DP pattern
- 213. House Robber II - Circular array variant
- 221. Maximal Square - 2D DP for max square in matrix
- 279. Perfect Squares - Complete knapsack variant
- 300. Longest Increasing Subsequence - O(n log n) with binary search
- 309. Best Time to Buy and Sell Stock with Cooldown - State machine DP
- 322. Coin Change - Classic unbounded knapsack
- 337. House Robber III - Tree DP
- 377. Combination Sum IV - Permutation DP
- 416. Partition Equal Subset Sum - 0/1 knapsack
- 435. Non-overlapping Intervals - Interval scheduling (greedy/DP)
- 494. Target Sum - Subset sum DP
- 516. Longest Palindromic Subsequence - 2D DP
- 518. Coin Change II - Combination DP
- 647. Palindromic Substrings - Expand around center or DP
- 673. Number of Longest Increasing Subsequence - LIS variant with count
- 714. Best Time to Buy and Sell Stock with Fee - State machine DP
- 718. Maximum Length of Repeated Subarray - 2D DP for subarray
- 746. Min Cost Climbing Stairs - Basic DP with cost
- 931. Minimum Falling Path Sum - Grid path DP
- 1035. Uncrossed Lines - LCS variant
- 1143. Longest Common Subsequence - Classic 2D DP
- 10. Regular Expression Matching - 2D DP with wildcards
- 32. Longest Valid Parentheses - Stack or DP approach
- 44. Wildcard Matching - 2D DP pattern matching
- 72. Edit Distance - Classic string DP
- 97. Interleaving String - 2D DP with two pointers
- 115. Distinct Subsequences - Count subsequences DP
- 123. Best Time to Buy and Sell Stock III - Multiple transactions DP
- 132. Palindrome Partitioning II - 2D DP minimum cuts
- 140. Word Break II - DP with backtracking
- 188. Best Time to Buy and Sell Stock IV - K transactions DP
- 300. Longest Increasing Subsequence - Binary search optimization
- 312. Burst Balloons - Interval DP
- 329. Longest Increasing Path in Matrix - DFS with memoization
- 410. Split Array Largest Sum - Binary search + DP
- 446. Arithmetic Slices II - Hash map DP
- 472. Concatenated Words - Word break with Trie
- 514. Freedom Trail - 2D DP with rotation
- 517. Super Washing Machines - Greedy/DP flow
- 639. Decode Ways II - DP with wildcards
- 664. Strange Printer - Interval DP
- 801. Minimum Swaps To Make Sequences Increasing - State DP
- 1000. Minimum Cost to Merge Stones - Interval DP
- 1388. Pizza With 3n Slices - Circular array DP
- 17. Letter Combinations of Phone Number - Basic backtracking template
- 401. Binary Watch - Generate combinations
- 17. Letter Combinations of Phone Number - Phone keypad combinations
- 22. Generate Parentheses - Valid combinations generation
- 39. Combination Sum - Unbounded backtracking
- 40. Combination Sum II - With duplicates handling
- 46. Permutations - Classic permutation generation
- 47. Permutations II - Permutations with duplicates
- 77. Combinations - Choose k from n
- 78. Subsets - Power set generation
- 79. Word Search - 2D grid backtracking
- 90. Subsets II - Subsets with duplicates
- 93. Restore IP Addresses - String partition backtracking
- 131. Palindrome Partitioning - Partition into palindromes
- 216. Combination Sum III - Fixed count combinations
- 254. Factor Combinations - Factor backtracking
- 526. Beautiful Arrangement - Permutation with constraint
- 784. Letter Case Permutation - Case combinations
- 37. Sudoku Solver - Constraint satisfaction
- 51. N-Queens - Classic backtracking problem
- 52. N-Queens II - Count solutions variant
- 212. Word Search II - Trie + backtracking on board
- 351. Android Unlock Patterns - Path validation backtracking
- 996. Number of Squareful Arrays - Permutation with constraints
- 703. Kth Largest Element in Stream - Min heap of size k
- 1046. Last Stone Weight - Max heap simulation
- 215. Kth Largest Element in Array - Quickselect or heap
- 253. Meeting Rooms II - Min heap for intervals
- 347. Top K Frequent Elements - Heap or bucket sort
- 355. Design Twitter - Merge k sorted lists with heap
- 373. Find K Pairs with Smallest Sums - Min heap optimization
- 378. Kth Smallest Element in Sorted Matrix - Binary search or heap
- 621. Task Scheduler - Max heap with cooldown
- 658. Find K Closest Elements - Binary search + two pointers
- 692. Top K Frequent Words - Heap with custom comparator
- 767. Reorganize String - Max heap greedy placement
- 973. K Closest Points to Origin - Max heap or quickselect
- 1481. Least Number of Unique Integers - Min heap greedy
- 23. Merge k Sorted Lists - Min heap merge
- 295. Find Median from Data Stream - Two heaps (max + min)
- 352. Data Stream as Disjoint Intervals - Ordered map or heap
- 358. Rearrange String k Distance Apart - Max heap with queue
- 407. Trapping Rain Water II - Min heap with boundary
- 502. IPO - Two heaps greedy
- 632. Smallest Range Covering Elements - Min heap with pointers
- 778. Swim in Rising Water - Dijkstra with heap
- 857. Minimum Cost to Hire K Workers - Max heap optimization
- 35. Search Insert Position - Basic binary search
- 69. Sqrt(x) - Binary search on answer
- 278. First Bad Version - Find first occurrence
- 367. Valid Perfect Square - Binary search validation
- 374. Guess Number Higher or Lower - Interactive binary search
- 704. Binary Search - Standard implementation
- 33. Search in Rotated Sorted Array - Modified binary search
- 34. Find First and Last Position - Binary search bounds
- 74. Search 2D Matrix - Treat as 1D array
- 81. Search in Rotated Sorted Array II - With duplicates
- 153. Find Minimum in Rotated Sorted Array - Find pivot
- 154. Find Minimum in Rotated Sorted Array II - With duplicates
- 162. Find Peak Element - Binary search on unsorted
- 209. Minimum Size Subarray Sum - Binary search or sliding window
- 240. Search 2D Matrix II - Staircase search
- 275. H-Index II - Binary search on sorted
- 287. Find Duplicate Number - Binary search or Floyd's
- 300. Longest Increasing Subsequence - Binary search optimization
- 378. Kth Smallest in Sorted Matrix - Binary search on value range
- 436. Find Right Interval - Binary search with sorting
- 540. Single Element in Sorted Array - Binary search parity
- 658. Find K Closest Elements - Binary search window
- 875. Koko Eating Bananas - Binary search on answer
- 1011. Capacity to Ship Packages - Binary search optimization
- 1062. Longest Repeating Substring - Binary search + rolling hash
- 4. Median of Two Sorted Arrays - Binary search partition
- 410. Split Array Largest Sum - Binary search on answer
- 668. Kth Smallest Number in Multiplication Table - Binary search count
- 719. Find Kth Smallest Pair Distance - Binary search + two pointers
- 778. Swim in Rising Water - Binary search + BFS
- 1482. Minimum Days to Make Bouquets - Binary search on days
- 252. Meeting Rooms - Check overlap after sorting
- 56. Merge Intervals - Classic interval merging
- 57. Insert Interval - Insert and merge
- 228. Summary Ranges - Group consecutive numbers
- 253. Meeting Rooms II - Min heap or sweep line
- 435. Non-overlapping Intervals - Greedy interval scheduling
- 452. Minimum Arrows to Burst Balloons - Interval overlap counting
- 495. Teemo Attacking - Merge overlapping durations
- 616. Add Bold Tag in String - Merge intervals in string
- 715. Range Module - Interval tree or sorted container
- 763. Partition Labels - Greedy interval partitioning
- 986. Interval List Intersections - Two pointer merge
- 218. The Skyline Problem - Sweep line with heap
- 352. Data Stream as Disjoint Intervals - Ordered map merge
- 759. Employee Free Time - Merge all then find gaps
- 850. Rectangle Area II - Coordinate compression
- 121. Best Time to Buy and Sell Stock - Track minimum
- 392. Is Subsequence - Greedy matching
- 455. Assign Cookies - Sort and match
- 860. Lemonade Change - Greedy change making
- 45. Jump Game II - Greedy BFS
- 55. Jump Game - Greedy reachability
- 122. Best Time to Buy and Sell Stock II - Capture all increases
- 134. Gas Station - One pass greedy
- 135. Candy - Two pass greedy
- 252. Meeting Rooms - Sort and check
- 253. Meeting Rooms II - Min heap greedy
- 334. Increasing Triplet - Track two minimums
- 406. Queue Reconstruction by Height - Sort and insert
- 435. Non-overlapping Intervals - Interval scheduling
- 452. Minimum Arrows to Burst Balloons - Interval overlap
- 621. Task Scheduler - Greedy with max frequency
- 646. Maximum Length of Pair Chain - Activity selection
- 649. Dota2 Senate - Queue greedy
- 763. Partition Labels - Track last occurrence
- 1007. Minimum Domino Rotations - Greedy check candidates
- 44. Wildcard Matching - Greedy or DP
- 135. Candy - Two pass greedy
- 358. Rearrange String k Distance Apart - Heap greedy
- 630. Course Schedule III - Max heap greedy
- 765. Couples Holding Hands - Cycle counting greedy
- 843. Guess the Word - Minimax greedy
- 968. Binary Tree Cameras - Greedy DFS
- 136. Single Number - XOR all elements
- 190. Reverse Bits - Bit shifting
- 191. Number of 1 Bits - Count set bits
- 231. Power of Two - n & (n-1) == 0
- 268. Missing Number - XOR approach
- 338. Counting Bits - DP with bit manipulation
- 389. Find the Difference - XOR characters
- 461. Hamming Distance - Count XOR bits
- 29. Divide Two Integers - Bit shift division
- 78. Subsets - Bit masking for subsets
- 89. Gray Code - Bit manipulation pattern
- 137. Single Number II - Bit counting modulo
- 187. Repeated DNA Sequences - Bit encoding hash
- 201. Bitwise AND of Numbers Range - Find common prefix
- 260. Single Number III - XOR partition
- 318. Maximum Product of Word Lengths - Bit mask for characters
- 371. Sum of Two Integers - Add without + operator
- 477. Total Hamming Distance - Count bits per position
- 645. Set Mismatch - XOR technique
- 1318. Minimum Flips to Make OR Equal - Bit by bit comparison
- 52. N-Queens II - Bit masking backtracking
- 421. Maximum XOR of Two Numbers - Trie or greedy bit
- 864. Shortest Path to Get All Keys - BFS with bit state
- 982. Triples with Bitwise AND Equal To Zero - Hash map optimization
- 1178. Number of Valid Words for Puzzles - Bit masking with hash
- 155. Min Stack - Stack with min tracking
- 225. Implement Stack using Queues - Queue-based stack
- 232. Implement Queue using Stacks - Stack-based queue
- 705. Design HashSet - Hash table implementation
- 706. Design HashMap - Hash map from scratch
- 146. LRU Cache - Hash map + doubly linked list
- 208. Implement Trie - Prefix tree structure
- 211. Add and Search Word - Trie with wildcard
- 284. Peeking Iterator - Iterator wrapper
- 297. Serialize and Deserialize Binary Tree - Tree encoding
- 341. Flatten Nested List Iterator - Stack-based flattening
- 348. Design Tic-Tac-Toe - Optimized board checking
- 355. Design Twitter - Timeline with heap
- 359. Logger Rate Limiter - Hash map with timestamp
- 362. Design Hit Counter - Queue or circular buffer
- 380. Insert Delete GetRandom O(1) - Array + hash map
- 432. All O(1) Data Structure - Hash map + doubly linked list
- 460. LFU Cache - Complex hash map structure
- 535. Encode and Decode TinyURL - Hash-based encoding
- 588. Design In-Memory File System - Trie-based filesystem
- 622. Design Circular Queue - Array-based queue
- 641. Design Circular Deque - Double-ended queue
- 676. Implement Magic Dictionary - Trie with one char diff
- 706. Design HashMap - Custom hash implementation
- 716. Max Stack - Stack with max operations
- 1166. Design File System - Path-based hash map
- 1244. Design Leaderboard - Hash map + sorting
- 1352. Product of Last K Numbers - Prefix product
- 146. LRU Cache - O(1) all operations
- 295. Find Median from Data Stream - Two heaps design
- 297. Serialize and Deserialize Binary Tree - Tree codec
- 381. Insert Delete GetRandom O(1) - Duplicates - Hash map + array with duplicates
- 460. LFU Cache - Frequency-based eviction
- 588. Design In-Memory File System - Trie-based system
- 895. Maximum Frequency Stack - Nested hash maps
- 21. Merge Two Sorted Lists - Recursive merge
- 70. Climbing Stairs - Basic recursion with memoization
- 104. Maximum Depth of Binary Tree - Simple tree recursion
- 206. Reverse Linked List - Recursive reversal
- 226. Invert Binary Tree - Tree transformation
- 509. Fibonacci Number - Classic recursion
- 700. Search in BST - BST recursion
- 17. Letter Combinations of Phone Number - Recursive backtracking
- 22. Generate Parentheses - Recursive generation
- 24. Swap Nodes in Pairs - Recursive swapping
- 50. Pow(x, n) - Fast exponentiation
- 77. Combinations - Recursive combinations
- 78. Subsets - Recursive subset generation
- 98. Validate Binary Search Tree - Recursive validation
- 114. Flatten Binary Tree to Linked List - Recursive flattening
- 143. Reorder List - Recursive approach
- 241. Different Ways to Add Parentheses - Divide and conquer
- 779. K-th Symbol in Grammar - Recursive pattern
- 25. Reverse Nodes in k-Group - Complex recursive reversal
- 84. Largest Rectangle in Histogram - Divide and conquer (or stack)
- 145. Binary Tree Postorder Traversal - Iterative using recursion concept
- 273. Integer to English Words - Recursive number conversion
- 282. Expression Add Operators - Recursive expression building
- 301. Remove Invalid Parentheses - BFS or recursive pruning
- 35. Search Insert Position - Binary search insertion
- 88. Merge Sorted Array - Two pointer merge
- 167. Two Sum II - Binary search or two pointers
- 242. Valid Anagram - Sorting comparison
- 349. Intersection of Two Arrays - Set or sorting
- 350. Intersection of Two Arrays II - Two pointers after sort
- 704. Binary Search - Standard binary search
- 977. Squares of Sorted Array - Two pointer merge
- 33. Search in Rotated Sorted Array - Modified binary search
- 34. Find First and Last Position - Binary search bounds
- 56. Merge Intervals - Sort then merge
- 75. Sort Colors - Dutch national flag
- 147. Insertion Sort List - Sort linked list
- 148. Sort List - Merge sort O(n log n)
- 153. Find Minimum in Rotated Sorted Array - Binary search for minimum
- 162. Find Peak Element - Binary search peak
- 179. Largest Number - Custom comparator sorting
- 215. Kth Largest Element - Quickselect algorithm
- 240. Search 2D Matrix II - Staircase search
- 274. H-Index - Sorting with counting
- 324. Wiggle Sort II - Partition and interleave
- 347. Top K Frequent Elements - Bucket sort
- 451. Sort Characters By Frequency - Frequency sorting
- 912. Sort an Array - Implement sorting algorithms
- 973. K Closest Points - Quickselect or heap
- 4. Median of Two Sorted Arrays - Binary search partition
- 23. Merge k Sorted Lists - Divide and conquer merge
- 327. Count of Range Sum - Merge sort with counting
- 493. Reverse Pairs - Modified merge sort
- 7. Reverse Integer - Integer overflow handling
- 9. Palindrome Number - Number manipulation
- 13. Roman to Integer - Conversion logic
- 50. Pow(x, n) - Fast power
- 66. Plus One - Digit array manipulation
- 67. Add Binary - Binary arithmetic
- 69. Sqrt(x) - Binary search or Newton's method
- 171. Excel Sheet Column Number - Base 26 conversion
- 172. Factorial Trailing Zeroes - Count factors of 5
- 202. Happy Number - Cycle detection
- 204. Count Primes - Sieve of Eratosthenes
- 258. Add Digits - Digital root
- 263. Ugly Number - Factor checking
- 268. Missing Number - Math formula or XOR
- 326. Power of Three - Mathematical check
- 367. Valid Perfect Square - Binary search
- 412. Fizz Buzz - Modulo operations
- 441. Arranging Coins - Quadratic formula
- 504. Base 7 - Base conversion
- 628. Maximum Product of Three Numbers - Consider negatives
- 2. Add Two Numbers - Linked list arithmetic
- 8. String to Integer (atoi) - String parsing with overflow
- 12. Integer to Roman - Greedy conversion
- 29. Divide Two Integers - Bit manipulation division
- 43. Multiply Strings - String multiplication
- 48. Rotate Image - Matrix transformation
- 50. Pow(x, n) - Fast exponentiation
- 54. Spiral Matrix - Matrix traversal
- 59. Spiral Matrix II - Generate spiral
- 60. Permutation Sequence - Factorial number system
- 62. Unique Paths - Combinatorics or DP
- 73. Set Matrix Zeroes - In-place marking
- 149. Max Points on a Line - Slope calculation
- 166. Fraction to Recurring Decimal - Long division with hash map
- 168. Excel Sheet Column Title - Base 26 encoding
- 172. Factorial Trailing Zeroes - Count 5s in factors
- 179. Largest Number - Custom comparator
- 223. Rectangle Area - Overlap calculation
- 264. Ugly Number II - DP with three pointers
- 279. Perfect Squares - BFS or DP
- 343. Integer Break - Math optimization (prefer 3s)
- 365. Water and Jug Problem - GCD (Bézout's identity)
- 396. Rotate Function - Mathematical pattern
- 413. Arithmetic Slices - Count consecutive differences
- 462. Minimum Moves to Equal Array Elements II - Median minimizes distance
- 523. Continuous Subarray Sum - Modulo with hash map
- 537. Complex Number Multiplication - Complex arithmetic
- 592. Fraction Addition and Subtraction - LCM and GCD
- 633. Sum of Square Numbers - Two pointers
- 640. Solve the Equation - Linear equation parsing
- 779. K-th Symbol in Grammar - Recursive pattern
- 883. Projection Area of 3D Shapes - 3D geometry
- 914. X of a Kind in Deck of Cards - GCD of frequencies
- 1492. The kth Factor of n - Factor enumeration
- 65. Valid Number - String validation with states
- 149. Max Points on a Line - Geometry with precision
- 224. Basic Calculator - Expression evaluation
- 233. Number of Digit One - Digit DP
- 273. Integer to English Words - Recursive conversion
- 335. Self Crossing - Geometry analysis
- 537. Complex Number Multiplication - Arithmetic parsing
- 587. Erect the Fence - Convex hull (Graham scan)
- 829. Consecutive Numbers Sum - Number theory
- 850. Rectangle Area II - Sweep line algorithm
- 858. Mirror Reflection - GCD and geometry
- 891. Sum of Subsequence Widths - Combinatorics with sorting
- 1363. Largest Multiple of Three - Modulo arithmetic
- 128. Longest Consecutive Sequence - Union-find or hash set
- 200. Number of Islands - Connected components
- 261. Graph Valid Tree - Cycle detection
- 305. Number of Islands II - Online union-find
- 323. Number of Connected Components - Union-find application
- 547. Number of Provinces - Friend circles
- 684. Redundant Connection - Find cycle edge
- 685. Redundant Connection II - Directed graph variant
- 721. Accounts Merge - Union by email
- 737. Sentence Similarity II - Transitive closure
- 765. Couples Holding Hands - Cycle counting
- 803. Bricks Falling When Hit - Reverse union-find
- 827. Making A Large Island - Union-find with size
- 924. Minimize Malware Spread - Component analysis
- 928. Minimize Malware Spread II - Advanced union-find
- 959. Regions Cut By Slashes - Grid subdivision
- 990. Satisfiability of Equality Equations - Constraint satisfaction
- 1319. Number of Operations to Make Network Connected - Component counting
- 218. The Skyline Problem - Sweep line with segment tree
- 307. Range Sum Query - Mutable - Segment tree or BIT
- 308. Range Sum Query 2D - Mutable - 2D BIT
- 315. Count of Smaller Numbers After Self - Merge sort or BIT
- 327. Count of Range Sum - Merge sort approach
- 493. Reverse Pairs - Modified merge sort
- 699. Falling Squares - Coordinate compression
- 732. My Calendar III - Segment tree for intervals
- 850. Rectangle Area II - Coordinate compression
- 1157. Online Majority Element - Segment tree with voting
- 1326. Minimum Number of Taps - Greedy or segment tree
- 1353. Maximum Number of Events - Greedy with priority queue
- 1648. Sell Diminishing-Valued Colored Balls - Math with priority queue
- 269. Alien Dictionary - Topological sort
- 310. Minimum Height Trees - Tree center finding
- 332. Reconstruct Itinerary - Eulerian path
- 399. Evaluate Division - Weighted graph DFS
- 743. Network Delay Time - Dijkstra's algorithm
- 753. Cracking the Safe - De Bruijn sequence
- 787. Cheapest Flights Within K Stops - Bellman-Ford variant
- 815. Bus Routes - BFS on graph of routes
- 847. Shortest Path Visiting All Nodes - BFS with bitmask
- 882. Reachable Nodes In Subdivided Graph - Dijkstra with edges
- 1192. Critical Connections - Tarjan's algorithm (bridges)
- 1334. Find the City - Floyd-Warshall
- 1514. Path with Maximum Probability - Modified Dijkstra
- 1631. Path With Minimum Effort - Binary search + BFS or Dijkstra
- 1976. Number of Ways to Arrive at Destination - Dijkstra with counting
- 28. Find the Index of First Occurrence - KMP algorithm
- 214. Shortest Palindrome - KMP for palindrome
- 459. Repeated Substring Pattern - KMP or string manipulation
- 686. Repeated String Match - String matching
- 796. Rotate String - KMP or concatenation
- 1044. Longest Duplicate Substring - Rolling hash + binary search
- 1062. Longest Repeating Substring - Binary search + rolling hash
- 1316. Distinct Echo Substrings - Rolling hash
- 84. Largest Rectangle in Histogram - Classic monotonic stack
- 85. Maximal Rectangle - Histogram approach
- 239. Sliding Window Maximum - Monotonic deque
- 316. Remove Duplicate Letters - Greedy with stack
- 402. Remove K Digits - Monotonic stack greedy
- 456. 132 Pattern - Stack with tracking
- 581. Shortest Unsorted Continuous Subarray - Stack or two pass
- 901. Online Stock Span - Monotonic stack
- 907. Sum of Subarray Minimums - Contribution technique
- 1019. Next Greater Node In Linked List - Stack on list
- 1063. Number of Valid Subarrays - Monotonic stack counting
- 1118. Number of Days in a Month - Date calculation
- 1856. Maximum Subarray Min-Product - Monotonic stack with prefix
- 292. Nim Game - Mathematical game theory
- 294. Flip Game II - Game state DP
- 375. Guess Number Higher or Lower II - Minimax DP
- 464. Can I Win - Game state with bitmask
- 486. Predict the Winner - Minimax DP
- 877. Stone Game - Game theory DP
- 913. Cat and Mouse - Graph game theory
- 1140. Stone Game II - DP with game state
- 1406. Stone Game III - Suffix DP
- 1510. Stone Game IV - Game DP with squares
- 1563. Stone Game V - Interval DP game
- 1686. Stone Game VI - Greedy with sorting
- 1872. Stone Game VIII - Prefix sum DP
Weeks 1-2: Foundations
- Arrays & Strings (Easy + Medium)
- Two Pointers & Sliding Window
- Hash Maps & Sets
- Practice 3-5 problems daily
Weeks 3-4: Data Structures
- Stack & Queue
- Linked Lists
- Trees & BST (Easy + Medium)
- Practice 3-5 problems daily
Weeks 5-6: Algorithms
- Binary Search
- Sorting & Searching
- DFS & BFS basics
- Practice 4-6 problems daily
Weeks 7-8: Advanced Patterns
- Dynamic Programming (Easy + Medium)
- Backtracking
- Greedy Algorithms
- Practice 4-6 problems daily
Weeks 9-10: Complex Topics
- Advanced DP (Hard)
- Graphs (Medium + Hard)
- Trie, Heap, Intervals
- Practice 5-7 problems daily
Weeks 11-12: Mock Interviews & Review
- Hard problems from all categories
- System Design basics
- Mock interviews (2-3 per week)
- Review weak areas
- Understand - Clarify requirements, constraints, edge cases
- Plan - Choose data structures and algorithms
- Implement - Write clean, readable code
- Test - Check edge cases and optimize
- Analyze - Time and space complexity
- Sliding Window
- Two Pointers
- Fast & Slow Pointers
- Merge Intervals
- Cyclic Sort
- In-place Reversal
- Tree BFS/DFS
- Two Heaps
- Subsets
- Modified Binary Search
- Top K Elements
- K-way Merge
- Topological Sort
- 0/1 Knapsack
- Unbounded Knapsack
- Always clarify the problem first
- Discuss your approach before coding
- Write clean, modular code
- Explain your thought process
- Test with examples
- Optimize when possible
- Handle edge cases
- Practice time management (45 min per problem)
- LeetCode - Primary practice platform
- NeetCode.io - Video explanations
- Striver's SDE Sheet - Comprehensive list
- Blind 75 - Essential problems
- AlgoExpert - Structured learning
- Cracking the Coding Interview - Book
- Elements of Programming Interviews - Book