A structured learning path covering all 71 LeetCode topics with 1500+ problems organized by concepts, patterns, and difficulty levels. This plan emphasizes deep understanding over speed, with problems carefully sequenced to build upon previous knowledge. Each topic includes foundation problems, common patterns, edge cases, and synthesis exercises to ensure complete mastery.
- #1 - Two Sum
- #26 - Remove Duplicates from Sorted Array
- #27 - Remove Element
- #88 - Merge Sorted Array
- #66 - Plus One
- #118 - Pascal's Triangle
- #119 - Pascal's Triangle II
- #169 - Majority Element
- #217 - Contains Duplicate
- #219 - Contains Duplicate II
- #228 - Summary Ranges
- #283 - Move Zeroes
- #414 - Third Maximum Number
- #448 - Find All Numbers Disappeared in an Array
- #485 - Max Consecutive Ones
- #167 - Two Sum II - Input Array Is Sorted
- #344 - Reverse String
- #977 - Squares of a Sorted Array
- #905 - Sort Array By Parity
- #11 - Container With Most Water
- #15 - 3Sum
- #16 - 3Sum Closest
- #18 - 4Sum
- #75 - Sort Colors
- #259 - 3Sum Smaller
- #303 - Range Sum Query - Immutable
- #1480 - Running Sum of 1d Array
- #1991 - Find the Middle Index in Array
- #724 - Find Pivot Index
- #344 - Reverse String
- #541 - Reverse String II
- #557 - Reverse Words in a String III
- #345 - Reverse Vowels of a String
- #125 - Valid Palindrome
- #709 - To Lower Case
- #58 - Length of Last Word
- #14 - Longest Common Prefix
- #1108 - Defanging an IP Address
- #1221 - Split a String in Balanced Strings
- #1662 - Check If Two String Arrays are Equivalent
- #387 - First Unique Character in a String
- #383 - Ransom Note
- #389 - Find the Difference
- #242 - Valid Anagram
- #1002 - Find Common Characters
- #7 - Reverse Integer
- #9 - Palindrome Number
- #66 - Plus One
- #67 - Add Binary
- #415 - Add Strings
- #69 - Sqrt(x)
- #50 - Pow(x, n)
- #371 - Sum of Two Integers
- #202 - Happy Number
- #258 - Add Digits
- #263 - Ugly Number
- #231 - Power of Two
- #326 - Power of Three
- #342 - Power of Four
- #509 - Fibonacci Number
- #1137 - N-th Tribonacci Number
- #204 - Count Primes
- #1232 - Check If It Is a Straight Line
- #1523 - Count Odd Numbers in an Interval Range
- #136 - Single Number
- #191 - Number of 1 Bits
- #190 - Reverse Bits
- #268 - Missing Number
- #338 - Counting Bits
- #461 - Hamming Distance
- #476 - Number Complement
- #693 - Binary Number with Alternating Bits
- #704 - Binary Search
- #35 - Search Insert Position
- #278 - First Bad Version
- #374 - Guess Number Higher or Lower
- #441 - Arranging Coins
- #744 - Find Smallest Letter Greater Than Target
- #852 - Peak Index in a Mountain Array
- #34 - Find First and Last Position of Element
- #74 - Search a 2D Matrix
- #162 - Find Peak Element
- #367 - Valid Perfect Square
- #1 - Two Sum
- #217 - Contains Duplicate
- #219 - Contains Duplicate II
- #242 - Valid Anagram
- #383 - Ransom Note
- #387 - First Unique Character
- #389 - Find the Difference
- #205 - Isomorphic Strings
- #290 - Word Pattern
- #1207 - Unique Number of Occurrences
- #1512 - Number of Good Pairs
- #771 - Jewels and Stones
- #1365 - How Many Numbers Are Smaller Than Current
- #1394 - Find Lucky Integer in an Array
- #349 - Intersection of Two Arrays
- #350 - Intersection of Two Arrays II
- #202 - Happy Number
- #819 - Most Common Word
- #509 - Fibonacci Number
- #70 - Climbing Stairs
- #344 - Reverse String
- #206 - Reverse Linked List
- #21 - Merge Two Sorted Lists
- #231 - Power of Two
- #326 - Power of Three
- #342 - Power of Four
- #88 - Merge Sorted Array
- #215 - Kth Largest Element in an Array
- #217 - Contains Duplicate
- #242 - Valid Anagram
- #268 - Missing Number
- #349 - Intersection of Two Arrays
- #350 - Intersection of Two Arrays II
- #414 - Third Maximum Number
- #455 - Assign Cookies
- #506 - Relative Ranks
- #561 - Array Partition
- #628 - Maximum Product of Three Numbers
- #645 - Set Mismatch
- #905 - Sort Array By Parity
- #922 - Sort Array By Parity II
- #976 - Largest Perimeter Triangle
- #977 - Squares of a Sorted Array
- #1051 - Height Checker
- #206 - Reverse Linked List
- #237 - Delete Node in a Linked List
- #203 - Remove Linked List Elements
- #83 - Remove Duplicates from Sorted List
- #21 - Merge Two Sorted Lists
- #876 - Middle of the Linked List
- #1290 - Convert Binary Number in a Linked List
- #141 - Linked List Cycle
- #142 - Linked List Cycle II
- #234 - Palindrome Linked List
- #160 - Intersection of Two Linked Lists
- #2 - Add Two Numbers
- #445 - Add Two Numbers II
- #24 - Swap Nodes in Pairs
- #328 - Odd Even Linked List
- #92 - Reverse Linked List II
- #25 - Reverse Nodes in k-Group
- #82 - Remove Duplicates from Sorted List II
- #148 - Sort List
- #147 - Insertion Sort List
- #23 - Merge k Sorted Lists
- #138 - Copy List with Random Pointer
- #430 - Flatten a Multilevel Doubly Linked List
- #109 - Convert Sorted List to Binary Search Tree
- #725 - Split Linked List in Parts
- #817 - Linked List Components
- #1019 - Next Greater Node In Linked List
- #20 - Valid Parentheses
- #682 - Baseball Game
- #844 - Backspace String Compare
- #1047 - Remove All Adjacent Duplicates In String
- #1441 - Build an Array With Stack Operations
- #1544 - Make The String Great
- #1598 - Crawler Log Folder
- #150 - Evaluate Reverse Polish Notation
- #71 - Simplify Path
- #394 - Decode String
- #227 - Basic Calculator II
- #224 - Basic Calculator
- #496 - Next Greater Element I
- #503 - Next Greater Element II
- #739 - Daily Temperatures
- #901 - Online Stock Span
- #84 - Largest Rectangle in Histogram
- #85 - Maximal Rectangle
- #42 - Trapping Rain Water
- #316 - Remove Duplicate Letters
- #402 - Remove K Digits
- #456 - 132 Pattern
- #225 - Implement Stack using Queues
- #232 - Implement Queue using Stacks
- #933 - Number of Recent Calls
- #346 - Moving Average from Data Stream
- #622 - Design Circular Queue
- #641 - Design Circular Deque
- #353 - Design Snake Game
- #362 - Design Hit Counter
- #94 - Binary Tree Inorder Traversal
- #144 - Binary Tree Preorder Traversal
- #145 - Binary Tree Postorder Traversal
- #102 - Binary Tree Level Order Traversal
- #107 - Binary Tree Level Order Traversal II
- #637 - Average of Levels in Binary Tree
- #104 - Maximum Depth of Binary Tree
- #111 - Minimum Depth of Binary Tree
- #110 - Balanced Binary Tree
- #100 - Same Tree
- #101 - Symmetric Tree
- #226 - Invert Binary Tree
- #572 - Subtree of Another Tree
- #617 - Merge Two Binary Trees
- #563 - Binary Tree Tilt
- #700 - Search in a Binary Search Tree
- #701 - Insert into a Binary Search Tree
- #108 - Convert Sorted Array to Binary Search Tree
- #235 - Lowest Common Ancestor of a BST
- #653 - Two Sum IV - Input is a BST
- #530 - Minimum Absolute Difference in BST
- #783 - Minimum Distance Between BST Nodes
- #938 - Range Sum of BST
- #589 - N-ary Tree Preorder Traversal
- #590 - N-ary Tree Postorder Traversal
- #429 - N-ary Tree Level Order Traversal
- #559 - Maximum Depth of N-ary Tree
- #703 - Kth Largest Element in a Stream
- #1046 - Last Stone Weight
- #1337 - The K Weakest Rows in a Matrix
- #506 - Relative Ranks
- #215 - Kth Largest Element in an Array
- #414 - Third Maximum Number
- #973 - K Closest Points to Origin
- #643 - Maximum Average Subarray I
- #1456 - Maximum Number of Vowels in a Substring
- #1052 - Grumpy Bookstore Owner
- #1343 - Number of Sub-arrays of Size K
- #3 - Longest Substring Without Repeating Characters
- #209 - Minimum Size Subarray Sum
- #424 - Longest Repeating Character Replacement
- #567 - Permutation in String
- #438 - Find All Anagrams in a String
- #76 - Minimum Window Substring
- #159 - Longest Substring with At Most Two Distinct Characters
- #340 - Longest Substring with At Most K Distinct Characters
- #904 - Fruit Into Baskets
- #930 - Binary Subarrays With Sum
- #992 - Subarrays with K Different Integers
- #1004 - Max Consecutive Ones III
- #1208 - Get Equal Substrings Within Budget
- #1234 - Replace the Substring for Balanced String
- #1248 - Count Number of Nice Subarrays
- #1358 - Number of Substrings With All Three Characters
- #1423 - Maximum Points You Can Obtain from Cards
- #1438 - Longest Continuous Subarray With Absolute Diff
- #455 - Assign Cookies
- #860 - Lemonade Change
- #944 - Delete Columns to Make Sorted
- #1005 - Maximize Sum Of Array After K Negations
- #1013 - Partition Array Into Three Parts With Equal Sum
- #1046 - Last Stone Weight
- #1217 - Minimum Cost to Move Chips
- #1221 - Split a String in Balanced Strings
- #1710 - Maximum Units on a Truck
- #252 - Meeting Rooms
- #253 - Meeting Rooms II
- #435 - Non-overlapping Intervals
- #452 - Minimum Number of Arrows to Burst Balloons
- #56 - Merge Intervals
- #57 - Insert Interval
- #986 - Interval List Intersections
- #1288 - Remove Covered Intervals
- #45 - Jump Game II
- #55 - Jump Game
- #122 - Best Time to Buy and Sell Stock II
- #134 - Gas Station
- #135 - Candy
- #330 - Patching Array
- #376 - Wiggle Subsequence
- #402 - Remove K Digits
- #406 - Queue Reconstruction by Height
- #621 - Task Scheduler
- #630 - Course Schedule III
- #763 - Partition Labels
- #767 - Reorganize String
- #846 - Hand of Straights
- #881 - Boats to Save People
- #948 - Bag of Tokens
- #1029 - Two City Scheduling
- #78 - Subsets
- #90 - Subsets II
- #77 - Combinations
- #39 - Combination Sum
- #40 - Combination Sum II
- #216 - Combination Sum III
- #377 - Combination Sum IV
- #46 - Permutations
- #47 - Permutations II
- #31 - Next Permutation
- #60 - Permutation Sequence
- #784 - Letter Case Permutation
- #17 - Letter Combinations of a Phone Number
- #22 - Generate Parentheses
- #93 - Restore IP Addresses
- #131 - Palindrome Partitioning
- #241 - Different Ways to Add Parentheses
- #282 - Expression Add Operators
- #79 - Word Search
- #212 - Word Search II
- #51 - N-Queens
- #52 - N-Queens II
- #36 - Valid Sudoku
- #37 - Sudoku Solver
- #980 - Unique Paths III
- #489 - Robot Room Cleaner
- #254 - Factor Combinations
- #267 - Palindrome Permutation II
- #291 - Word Pattern II
- #294 - Flip Game II
- #320 - Generalized Abbreviation
- #351 - Android Unlock Patterns
- #357 - Count Numbers with Unique Digits
- #401 - Binary Watch
- #411 - Minimum Unique Word Abbreviation
- #425 - Word Squares
- #465 - Optimal Account Balancing
- #473 - Matchsticks to Square
- #491 - Increasing Subsequences
- #526 - Beautiful Arrangement
- #698 - Partition to K Equal Sum Subsets
- #842 - Split Array into Fibonacci Sequence
- #1079 - Letter Tile Possibilities
- #1239 - Maximum Length of a Concatenated String
- #70 - Climbing Stairs
- #746 - Min Cost Climbing Stairs
- #198 - House Robber
- #213 - House Robber II
- #740 - Delete and Earn
- #256 - Paint House
- #265 - Paint House II
- #276 - Paint Fence
- #53 - Maximum Subarray
- #152 - Maximum Product Subarray
- #918 - Maximum Sum Circular Subarray
- #300 - Longest Increasing Subsequence
- #368 - Largest Divisible Subset
- #413 - Arithmetic Slices
- #446 - Arithmetic Slices II - Subsequence
- #673 - Number of Longest Increasing Subsequence
- #1027 - Longest Arithmetic Subsequence
- #121 - Best Time to Buy and Sell Stock
- #122 - Best Time to Buy and Sell Stock II
- #123 - Best Time to Buy and Sell Stock III
- #188 - Best Time to Buy and Sell Stock IV
- #309 - Best Time to Buy and Sell Stock with Cooldown
- #714 - Best Time to Buy and Sell Stock with Transaction Fee
- #62 - Unique Paths
- #63 - Unique Paths II
- #64 - Minimum Path Sum
- #120 - Triangle
- #174 - Dungeon Game
- #221 - Maximal Square
- #931 - Minimum Falling Path Sum
- #1277 - Count Square Submatrices with All Ones
- #1314 - Matrix Block Sum
- #5 - Longest Palindromic Substring
- #72 - Edit Distance
- #91 - Decode Ways
- #97 - Interleaving String
- #115 - Distinct Subsequences
- #139 - Word Break
- #140 - Word Break II
- #472 - Concatenated Words
- #516 - Longest Palindromic Subsequence
- #583 - Delete Operation for Two Strings
- #647 - Palindromic Substrings
- #712 - Minimum ASCII Delete Sum for Two Strings
- #1143 - Longest Common Subsequence
- #322 - Coin Change
- #518 - Coin Change 2
- #279 - Perfect Squares
- #416 - Partition Equal Subset Sum
- #474 - Ones and Zeroes
- #494 - Target Sum
- #1049 - Last Stone Weight II
- #10 - Regular Expression Matching
- #32 - Longest Valid Parentheses
- #44 - Wildcard Matching
- #87 - Scramble String
- #132 - Palindrome Partitioning II
- #312 - Burst Balloons
- #337 - House Robber III
- #354 - Russian Doll Envelopes
- #375 - Guess Number Higher or Lower II
- #403 - Frog Jump
- #410 - Split Array Largest Sum
- #486 - Predict the Winner
- #514 - Freedom Trail
- #546 - Remove Boxes
- #552 - Student Attendance Record II
- #639 - Decode Ways II
- #664 - Strange Printer
- #691 - Stickers to Spell Word
- #730 - Count Different Palindromic Subsequences
- #741 - Cherry Pickup
- #801 - Minimum Swaps To Make Sequences Increasing
- #818 - Race Car
- #879 - Profitable Schemes
- #887 - Super Egg Drop
- #920 - Number of Music Playlists
- #940 - Distinct Subsequences II
- #956 - Tallest Billboard
- #975 - Odd Even Jump
- #1000 - Minimum Cost to Merge Stones
- #1125 - Smallest Sufficient Team
- #1187 - Make Array Strictly Increasing
- #1220 - Count Vowels Permutation
- #1235 - Maximum Profit in Job Scheduling
- #1246 - Palindrome Removal
- #1259 - Handshakes That Don't Cross
- #1269 - Number of Ways to Stay in the Same Place
- #1278 - Palindrome Partitioning III
- #1312 - Minimum Insertion Steps to Make a String Palindrome
- #1335 - Minimum Difficulty of a Job Schedule
- #1340 - Jump Game V
- #1345 - Jump Game IV
- #1349 - Maximum Students Taking Exam
- #1359 - Count All Valid Pickup and Delivery Options
- #1388 - Pizza With 3n Slices
- #1402 - Reducing Dishes
- #1406 - Stone Game III
- #1411 - Number of Ways to Paint N × 3 Grid
- #1416 - Restore The Array
- #1420 - Build Array Where You Can Find The Maximum Exactly K Comparisons
- #1425 - Constrained Subsequence Sum
- #1434 - Number of Ways to Wear Different Hats
- #1444 - Number of Ways of Cutting a Pizza
- #1449 - Form Largest Integer With Digits That Add up to Target
- #1458 - Max Dot Product of Two Subsequences
- #1463 - Cherry Pickup II
- #1473 - Paint House III
- #1478 - Allocate Mailboxes
- #1483 - Kth Ancestor of a Tree Node
- #1494 - Parallel Courses II
- #1510 - Stone Game IV
- #1521 - Find a Value of a Mysterious Function Closest to Target
- #1531 - String Compression II
- #1537 - Get the Maximum Score
- #1547 - Minimum Cost to Cut a Stick
- #1553 - Minimum Number of Days to Eat N Oranges
- #1563 - Stone Game V
- #1569 - Number of Ways to Reorder Array
- #1575 - Count All Possible Routes
- #1595 - Minimum Cost to Connect Two Groups of Points
- #733 - Flood Fill
- #463 - Island Perimeter
- #994 - Rotting Oranges
- #1162 - As Far from Land as Possible
- #200 - Number of Islands
- #695 - Max Area of Island
- #130 - Surrounded Regions
- #417 - Pacific Atlantic Water Flow
- #1254 - Number of Closed Islands
- #1020 - Number of Enclaves
- #547 - Number of Provinces
- #323 - Number of Connected Components in an Undirected Graph
- #261 - Graph Valid Tree
- #684 - Redundant Connection
- #685 - Redundant Connection II
- #841 - Keys and Rooms
- #1319 - Number of Operations to Make Network Connected
- #127 - Word Ladder
- #126 - Word Ladder II
- #433 - Minimum Genetic Mutation
- #752 - Open the Lock
- #815 - Bus Routes
- #863 - All Nodes Distance K in Binary Tree
- #1091 - Shortest Path in Binary Matrix
- #1129 - Shortest Path with Alternating Colors
- #1197 - Minimum Knight Moves
- #1293 - Shortest Path in a Grid with Obstacles Elimination
- #1345 - Jump Game IV
- #286 - Walls and Gates
- #317 - Shortest Distance from All Buildings
- #542 - 01 Matrix
- #934 - Shortest Bridge
- #1162 - As Far from Land as Possible
- #207 - Course Schedule
- #210 - Course Schedule II
- #802 - Find Eventual Safe States
- #1059 - All Paths from Source Lead to Destination
- #797 - All Paths From Source to Target
- #1971 - Find if Path Exists in Graph
- #332 - Reconstruct Itinerary
- #207 - Course Schedule
- #210 - Course Schedule II
- #269 - Alien Dictionary
- #310 - Minimum Height Trees
- #329 - Longest Increasing Path in a Matrix
- #444 - Sequence Reconstruction
- #631 - Design Excel Sum Formula
- #1136 - Parallel Courses
- #1203 - Sort Items by Groups Respecting Dependencies
- #2050 - Parallel Courses III
- #105 - Construct Binary Tree from Preorder and Inorder
- #106 - Construct Binary Tree from Inorder and Postorder
- #889 - Construct Binary Tree from Preorder and Postorder
- #297 - Serialize and Deserialize Binary Tree
- #449 - Serialize and Deserialize BST
- #428 - Serialize and Deserialize N-ary Tree
- #652 - Find Duplicate Subtrees
- #98 - Validate Binary Search Tree
- #99 - Recover Binary Search Tree
- #173 - Binary Search Tree Iterator
- #230 - Kth Smallest Element in a BST
- #285 - Inorder Successor in BST
- #426 - Convert Binary Search Tree to Sorted Doubly Linked List
- #450 - Delete Node in a BST
- #501 - Find Mode in Binary Search Tree
- #510 - Inorder Successor in BST II
- #669 - Trim a Binary Search Tree
- #776 - Split BST
- #1008 - Construct Binary Search Tree from Preorder Traversal
- #1038 - Binary Search Tree to Greater Sum Tree
- #1214 - Two Sum BSTs
- #1305 - All Elements in Two Binary Search Trees
- #1373 - Maximum Sum BST in Binary Tree
- #1382 - Balance a Binary Search Tree
- #1569 - Number of Ways to Reorder Array to Get Same BST
- #103 - Binary Tree Zigzag Level Order Traversal
- #116 - Populating Next Right Pointers in Each Node
- #117 - Populating Next Right Pointers in Each Node II
- #199 - Binary Tree Right Side View
- #314 - Binary Tree Vertical Order Traversal
- #513 - Find Bottom Left Tree Value
- #515 - Find Largest Value in Each Tree Row
- #545 - Boundary of Binary Tree
- #662 - Maximum Width of Binary Tree
- #987 - Vertical Order Traversal of a Binary Tree
- #1104 - Path In Zigzag Labelled Binary Tree
- #1469 - Find All The Lonely Nodes
- #1490 - Clone N-ary Tree
- #1522 - Diameter of N-ary Tree
- #1602 - Find Nearest Right Node in Binary Tree
- #235 - Lowest Common Ancestor of a Binary Search Tree
- #236 - Lowest Common Ancestor of a Binary Tree
- #1123 - Lowest Common Ancestor of Deepest Leaves
- #1257 - Smallest Common Region
- #1644 - Lowest Common Ancestor of a Binary Tree II
- #1650 - Lowest Common Ancestor of a Binary Tree III
- #1676 - Lowest Common Ancestor of a Binary Tree IV
- #114 - Flatten Binary Tree to Linked List
- #124 - Binary Tree Maximum Path Sum
- #222 - Count Complete Tree Nodes
- #250 - Count Univalue Subtrees
- #298 - Binary Tree Longest Consecutive Sequence
- #333 - Largest BST Subtree
- #337 - House Robber III
- #366 - Find Leaves of Binary Tree
- #431 - Encode N-ary Tree to Binary Tree
- #437 - Path Sum III
- #508 - Most Frequent Subtree Sum
- #549 - Binary Tree Longest Consecutive Sequence II
- #582 - Kill Process
- #623 - Add One Row to Tree
- #654 - Maximum Binary Tree
- #655 - Print Binary Tree
- #663 - Equal Tree Partition
- #666 - Path Sum IV
- #684 - Redundant Connection
- #685 - Redundant Connection II
- #687 - Longest Univalue Path
- #742 - Closest Leaf in a Binary Tree
- #814 - Binary Tree Pruning
- #834 - Sum of Distances in Tree
- #863 - All Nodes Distance K in Binary Tree
- #865 - Smallest Subtree with all the Deepest Nodes
- #894 - All Possible Full Binary Trees
- #919 - Complete Binary Tree Inserter
- #951 - Flip Equivalent Binary Trees
- #958 - Check Completeness of a Binary Tree
- #968 - Binary Tree Cameras
- #971 - Flip Binary Tree To Match Preorder Traversal
- #979 - Distribute Coins in Binary Tree
- #988 - Smallest String Starting From Leaf
- #993 - Cousins in Binary Tree
- #998 - Maximum Binary Tree II
- #1022 - Sum of Root To Leaf Binary Numbers
- #1026 - Maximum Difference Between Node and Ancestor
- #1028 - Recover a Tree From Preorder Traversal
- #1080 - Insufficient Nodes in Root to Leaf Paths
- #1110 - Delete Nodes And Return Forest
- #1120 - Maximum Average Subtree
- #1130 - Minimum Cost Tree From Leaf Values
- #1145 - Binary Tree Coloring Game
- #1161 - Maximum Level Sum of a Binary Tree
- #113 - Path Sum II
- #129 - Sum Root to Leaf Numbers
- #124 - Binary Tree Maximum Path Sum
- #437 - Path Sum III
- #666 - Path Sum IV
- #687 - Longest Univalue Path
- #1376 - Time Needed to Inform All Employees
- #1443 - Minimum Time to Collect All Apples in a Tree
- #1448 - Count Good Nodes in Binary Tree
- #1457 - Pseudo-Palindromic Paths in a Binary Tree
- #347 - Top K Frequent Elements
- #378 - Kth Smallest Element in a Sorted Matrix
- #373 - Find K Pairs with Smallest Sums
- #451 - Sort Characters By Frequency
- #658 - Find K Closest Elements
- #692 - Top K Frequent Words
- #719 - Find K-th Smallest Pair Distance
- #786 - K-th Smallest Prime Fraction
- #1167 - Minimum Cost to Connect Sticks
- #23 - Merge k Sorted Lists
- #264 - Ugly Number II
- #313 - Super Ugly Number
- #355 - Design Twitter
- #632 - Smallest Range Covering Elements from K Lists
- #253 - Meeting Rooms II
- #358 - Rearrange String k Distance Apart
- #621 - Task Scheduler
- #630 - Course Schedule III
- #759 - Employee Free Time
- #767 - Reorganize String
- #1094 - Car Pooling
- #1353 - Maximum Number of Events That Can Be Attended
- #218 - The Skyline Problem
- #407 - Trapping Rain Water II
- #857 - Minimum Cost to Hire K Workers
- #871 - Minimum Number of Refueling Stops
- #895 - Maximum Frequency Stack
- #1383 - Maximum Performance of a Team
- #1439 - Find the Kth Smallest Sum of a Matrix
- #1499 - Max Value of Equation
- #1606 - Find Servers That Handled Most Number of Requests
- #1642 - Furthest Building You Can Reach
- #1675 - Minimize Deviation in Array
- #208 - Implement Trie (Prefix Tree)
- #211 - Design Add and Search Words Data Structure
- #677 - Map Sum Pairs
- #648 - Replace Words
- #676 - Implement Magic Dictionary
- #745 - Prefix and Suffix Search
- #1804 - Implement Trie II (Prefix Tree)
- #212 - Word Search II
- #425 - Word Squares
- #472 - Concatenated Words
- #720 - Longest Word in Dictionary
- #1065 - Index Pairs of a String
- #1166 - Design File System
- #1233 - Remove Sub-Folders from the Filesystem
- #1268 - Search Suggestions System
- #140 - Word Break II
- #336 - Palindrome Pairs
- #421 - Maximum XOR of Two Numbers in an Array
- #588 - Design In-Memory File System
- #642 - Design Search Autocomplete System
- #792 - Number of Matching Subsequences
- #820 - Short Encoding of Words
- #1032 - Stream of Characters
- #1316 - Distinct Echo Substrings
- #1707 - Maximum XOR With an Element From Array
- #1803 - Count Pairs With XOR in a Range
- #1858 - Longest Word With All Prefixes
- #547 - Number of Provinces
- #684 - Redundant Connection
- #323 - Number of Connected Components
- #990 - Satisfiability of Equality Equations
- #1319 - Number of Operations to Make Network Connected
- #128 - Longest Consecutive Sequence
- #200 - Number of Islands
- #261 - Graph Valid Tree
- #305 - Number of Islands II
- #399 - Evaluate Division
- #685 - Redundant Connection II
- #721 - Accounts Merge
- #737 - Sentence Similarity II
- #765 - Couples Holding Hands
- #778 - Swim in Rising Water
- #803 - Bricks Falling When Hit
- #827 - Making A Large Island
- #839 - Similar String Groups
- #924 - Minimize Malware Spread
- #928 - Minimize Malware Spread II
- #947 - Most Stones Removed with Same Row or Column
- #952 - Largest Component Size by Common Factor
- #959 - Regions Cut By Slashes
- #1061 - Lexicographically Smallest Equivalent String
- #1101 - The Earliest Moment When Everyone Become Friends
- #1135 - Connecting Cities With Minimum Cost
- #1168 - Optimize Water Distribution in a Village
- #1202 - Smallest String With Swaps
- #1258 - Synonymous Sentences
- #1489 - Find Critical and Pseudo-Critical Edges
- #1579 - Remove Max Number of Edges to Keep Graph Fully Traversable
- #1584 - Min Cost to Connect All Points
- #1627 - Graph Connectivity With Threshold
- #1631 - Path With Minimum Effort
- #1697 - Checking Existence of Edge Length Limited Paths
- #1722 - Minimize Hamming Distance After Swap Operations
- #1724 - Checking Existence of Edge Length Limited Paths II
- #743 - Network Delay Time
- #787 - Cheapest Flights Within K Stops
- #882 - Reachable Nodes In Subdivided Graph
- #1334 - Find the City With the Smallest Number
- #1368 - Minimum Cost to Make at Least One Valid Path
- #1514 - Path with Maximum Probability
- #1631 - Path With Minimum Effort
- #1786 - Number of Restricted Paths
- #1810 - Minimum Path Cost in a Hidden Grid
- #1879 - Minimum XOR Sum of Two Arrays
- #1928 - Minimum Cost to Reach Destination in Time
- #1976 - Number of Ways to Arrive at Destination
- #2045 - Second Minimum Time to Reach Destination
- #2065 - Maximum Path Quality of a Graph
- #2093 - Minimum Cost to Reach City With Discounts
- #787 - Cheapest Flights Within K Stops
- #1334 - Find the City With the Smallest Number
- #1462 - Course Schedule IV
- #1135 - Connecting Cities With Minimum Cost
- #1168 - Optimize Water Distribution in a Village
- #1489 - Find Critical and Pseudo-Critical Edges
- #1584 - Min Cost to Connect All Points
- #126 - Word Ladder II
- #269 - Alien Dictionary
- #332 - Reconstruct Itinerary
- #399 - Evaluate Division
- #444 - Sequence Reconstruction
- #499 - The Maze III
- #505 - The Maze II
- #568 - Maximum Vacation Days
- #582 - Kill Process
- #631 - Design Excel Sum Formula
- #675 - Cut Off Trees for Golf Event
- #694 - Number of Distinct Islands
- #711 - Number of Distinct Islands II
- #749 - Contain Virus
- #753 - Cracking the Safe
- #773 - Sliding Puzzle
- #778 - Swim in Rising Water
- #803 - Bricks Falling When Hit
- #827 - Making A Large Island
- #834 - Sum of Distances in Tree
- #847 - Shortest Path Visiting All Nodes
- #854 - K-Similar Strings
- #864 - Shortest Path to Get All Keys
- #882 - Reachable Nodes In Subdivided Graph
- #913 - Cat and Mouse
- #924 - Minimize Malware Spread
- #928 - Minimize Malware Spread II
- #943 - Find the Shortest Superstring
- #959 - Regions Cut By Slashes
- #980 - Unique Paths III
- #996 - Number of Squareful Arrays
- #1036 - Escape a Large Maze
- #1066 - Campus Bikes II
- #1102 - Path With Maximum Minimum Value
- #1129 - Shortest Path with Alternating Colors
- #1136 - Parallel Courses
- #1153 - String Transforms Into Another String
- #1192 - Critical Connections in a Network
- #1203 - Sort Items by Groups Respecting Dependencies
- #1210 - Minimum Moves to Reach Target with Rotations
- #1245 - Tree Diameter
- #1263 - Minimum Moves to Move a Box to Target
- #1284 - Minimum Number of Flips to Convert Binary Matrix
- #1293 - Shortest Path in a Grid with Obstacles Elimination
- #1298 - Maximum Candies You Can Get from Boxes
- #1311 - Get Watched Videos by Your Friends
- #1345 - Jump Game IV
- #1361 - Validate Binary Tree Nodes
- #1368 - Minimum Cost to Make at Least One Valid Path
- #1377 - Frog Position After T Seconds
- #1391 - Check if There is a Valid Path in a Grid
- #33 - Search in Rotated Sorted Array
- #81 - Search in Rotated Sorted Array II
- #153 - Find Minimum in Rotated Sorted Array
- #154 - Find Minimum in Rotated Sorted Array II
- #69 - Sqrt(x)
- #287 - Find the Duplicate Number
- #300 - Longest Increasing Subsequence
- #354 - Russian Doll Envelopes
- #410 - Split Array Largest Sum
- #483 - Smallest Good Base
- #644 - Maximum Average Subarray II
- #668 - Kth Smallest Number in Multiplication Table
- #710 - Random Pick with Blacklist
- #719 - Find K-th Smallest Pair Distance
- #774 - Minimize Max Distance to Gas Station
- #778 - Swim in Rising Water
- #786 - K-th Smallest Prime Fraction
- #793 - Preimage Size of Factorial Zeroes Function
- #875 - Koko Eating Bananas
- #878 - Nth Magical Number
- #887 - Super Egg Drop
- #1011 - Capacity To Ship Packages Within D Days
- #1044 - Longest Duplicate Substring
- #1060 - Missing Element in Sorted Array
- #1062 - Longest Repeating Substring
- #1095 - Find in Mountain Array
- #1182 - Shortest Distance to Target Color
- #1201 - Ugly Number III
- #1231 - Divide Chocolate
- #1283 - Find the Smallest Divisor Given a Threshold
- #1292 - Maximum Side Length of a Square
- #1300 - Sum of Mutated Array Closest to Target
- #1482 - Minimum Number of Days to Make m Bouquets
- #1508 - Range Sum of Sorted Subarray Sums
- #1539 - Kth Missing Positive Number
- #1552 - Magnetic Force Between Two Balls
- #1618 - Maximum Font to Fit a Sentence in a Screen
- #1648 - Sell Diminishing-Valued Colored Balls
- #1802 - Maximum Value at a Given Index in a Bounded Array
- #1870 - Minimum Speed to Arrive on Time
- #1889 - Minimum Space Wasted From Packaging
- #1891 - Cutting Ribbons
- #1918 - Kth Smallest Subarray Sum
- #307 - Range Sum Query - Mutable
- #308 - Range Sum Query 2D - Mutable
- #315 - Count of Smaller Numbers After Self
- #327 - Count of Range Sum
- #493 - Reverse Pairs
- #699 - Falling Squares
- #715 - Range Module
- #731 - My Calendar II
- #732 - My Calendar III
- #850 - Rectangle Area II
- #1157 - Online Majority Element In Subarray
- #1348 - Tweet Counts Per Frequency
- #1353 - Maximum Number of Events That Can Be Attended
- #1505 - Minimum Possible Integer After at Most K Adjacent Swaps
- #1521 - Find a Value of a Mysterious Function
- #1526 - Minimum Number of Increments on Subarrays
- #1622 - Fancy Sequence
- #1649 - Create Sorted Array through Instructions
- #1687 - Delivering Boxes from Storage to Ports
- #1851 - Minimum Interval to Include Each Query
- #2158 - Amount of New Area Painted Each Day
- #2213 - Longest Substring of One Repeating Character
- #2276 - Count Integers in Intervals
- #2286 - Booking Concert Tickets in Groups
- #307 - Range Sum Query - Mutable
- #308 - Range Sum Query 2D - Mutable
- #315 - Count of Smaller Numbers After Self
- #327 - Count of Range Sum
- #493 - Reverse Pairs
- #1395 - Count Number of Teams
- #1409 - Queries on a Permutation With Key
- #1505 - Minimum Possible Integer After at Most K Swaps
- #1649 - Create Sorted Array through Instructions
- #1756 - Design Most Recently Used Queue
- #1782 - Count Pairs Of Nodes
- #1854 - Maximum Population Year
- #1964 - Find the Longest Valid Obstacle Course
- #2031 - Count Subarrays With More Ones Than Zeros
- #2179 - Count Good Triplets in an Array
- #2250 - Count Number of Rectangles Containing Each Point
- #137 - Single Number II
- #260 - Single Number III
- #287 - Find the Duplicate Number
- #421 - Maximum XOR of Two Numbers in an Array
- #477 - Total Hamming Distance
- #1310 - XOR Queries of a Subarray
- #1442 - Count Triplets That Can Form Two Arrays
- #1506 - Find Root of N-Ary Tree
- #1707 - Maximum XOR With an Element From Array
- #1720 - Decode XORed Array
- #1734 - Decode XORed Permutation
- #1738 - Find Kth Largest XOR Coordinate Value
- #1787 - Make the XOR of All Segments Equal to Zero
- #1803 - Count Pairs With XOR in a Range
- #1829 - Maximum XOR for Each Query
- #1835 - Find XOR Sum of All Pairs Bitwise AND
- #1863 - Sum of All Subset XOR Totals
- #78 - Subsets
- #90 - Subsets II
- #320 - Generalized Abbreviation
- #401 - Binary Watch
- #411 - Minimum Unique Word Abbreviation
- #464 - Can I Win
- #473 - Matchsticks to Square
- #526 - Beautiful Arrangement
- #638 - Shopping Offers
- #691 - Stickers to Spell Word
- #698 - Partition to K Equal Sum Subsets
- #784 - Letter Case Permutation
- #805 - Split Array With Same Average
- #847 - Shortest Path Visiting All Nodes
- #864 - Shortest Path to Get All Keys
- #943 - Find the Shortest Superstring
- #980 - Unique Paths III
- #996 - Number of Squareful Arrays
- #1066 - Campus Bikes II
- #1125 - Smallest Sufficient Team
- #1239 - Maximum Length of a Concatenated String
- #1255 - Maximum Score Words Formed by Letters
- #1284 - Minimum Number of Flips to Convert Binary Matrix
- #1349 - Maximum Students Taking Exam
- #1411 - Number of Ways to Paint N × 3 Grid
- #1434 - Number of Ways to Wear Different Hats
- #1494 - Parallel Courses II
- #1595 - Minimum Cost to Connect Two Groups of Points
- #1601 - Maximum Number of Achievable Transfer Requests
- #1611 - Minimum One Bit Operations to Make Integers Zero
- #1655 - Distribute Repeating Integers
- #1659 - Maximize Grid Happiness
- #1681 - Minimum Incompatibility
- #1723 - Find Minimum Time to Finish All Jobs
- #1755 - Closest Subsequence Sum
- #1774 - Closest Dessert Cost
- #1799 - Maximize Score After N Operations
- #1815 - Maximum Number of Groups Getting Fresh Donuts
- #1879 - Minimum XOR Sum of Two Arrays
- #1900 - The Earliest and Latest Rounds Where Players Compete
- #1908 - Game of Nim
- #1931 - Painting a Grid With Three Different Colors
- #1947 - Maximum Compatibility Score Sum
- #1959 - Minimum Total Space Wasted With K Resizing Operations
- #1986 - Minimum Number of Work Sessions to Finish the Tasks
- #1994 - The Number of Good Subsets
- #2002 - Maximum Product of the Length of Two Palindromic Subsequences
- #2008 - Maximum Earnings From Taxi
- #2019 - The Score of Students Solving Math Expression
- #2044 - Count Number of Maximum Bitwise-OR Subsets
- #2151 - Maximum Good People Based on Statements
- #2172 - Maximum AND Sum of Array
- #2184 - Number of Ways to Build Sturdy Brick Wall
- #2189 - Number of Ways to Build House of Cards
- #2212 - Maximum Points in an Archery Competition
- #2247 - Maximum Cost of Trip With K Highways
- #2291 - Maximum Profit From Trading Stocks
- #2305 - Fair Distribution of Cookies
- #169 - Majority Element
- #187 - Repeated DNA Sequences
- #201 - Bitwise AND of Numbers Range
- #318 - Maximum Product of Word Lengths
- #371 - Sum of Two Integers
- #393 - UTF-8 Validation
- #397 - Integer Replacement
- #762 - Prime Number of Set Bits in Binary
- #898 - Bitwise ORs of Subarrays
- #1009 - Complement of Base 10 Integer
- #1017 - Convert to Base -2
- #1018 - Binary Prefix Divisible By 5
- #1073 - Adding Two Negabinary Numbers
- #1238 - Circular Permutation in Binary Representation
- #1290 - Convert Binary Number in a Linked List
- #1318 - Minimum Flips to Make a OR b Equal to c
- #1342 - Number of Steps to Reduce a Number to Zero
- #1356 - Sort Integers by The Number of 1 Bits
- #1404 - Number of Steps to Reduce a Number in Binary
- #1461 - Check If a String Contains All Binary Codes
- #1486 - XOR Operation in an Array
- #1521 - Find a Value of a Mysterious Function
- #1558 - Minimum Numbers of Function Calls
- #1611 - Minimum One Bit Operations to Make Integers Zero
- #1680 - Concatenation of Consecutive Binary Numbers
- #1684 - Count the Number of Consistent Strings
- #2220 - Minimum Bit Flips to Convert Number
- #2275 - Largest Combination With Bitwise AND Greater Than Zero
- #2317 - Maximum XOR After Operations
- #204 - Count Primes
- #254 - Factor Combinations
- #264 - Ugly Number II
- #279 - Perfect Squares
- #313 - Super Ugly Number
- #365 - Water and Jug Problem
- #507 - Perfect Number
- #625 - Minimum Factorization
- #650 - 2 Keys Keyboard
- #762 - Prime Number of Set Bits in Binary
- #866 - Prime Palindrome
- #952 - Largest Component Size by Common Factor
- #1175 - Prime Arrangements
- #1362 - Closest Divisors
- #1390 - Four Divisors
- #1492 - The kth Factor of n
- #1735 - Count Ways to Make Array With Product
- #1808 - Maximize Number of Nice Divisors
- #1819 - Number of Different Subsequences GCDs
- #1952 - Three Divisors
- #2183 - Count Array Pairs Divisible by K
- #2198 - Number of Single Divisor Triplets
- #2280 - Minimum Lines to Represent a Line Chart
- #365 - Water and Jug Problem
- #858 - Mirror Reflection
- #878 - Nth Magical Number
- #914 - X of a Kind in a Deck of Cards
- #1071 - Greatest Common Divisor of Strings
- #1201 - Ugly Number III
- #1250 - Check If It Is a Good Array
- #1362 - Closest Divisors
- #1447 - Simplified Fractions
- #1979 - Find Greatest Common Divisor of Array
- #2001 - Number of Pairs of Interchangeable Rectangles
- #2197 - Replace Non-Coprime Numbers in Array
- #2280 - Minimum Lines to Represent a Line Chart
- #2344 - Minimum Deletions to Make Array Divisible
- #60 - Permutation Sequence
- #62 - Unique Paths
- #77 - Combinations
- #357 - Count Numbers with Unique Digits
- #441 - Arranging Coins
- #458 - Poor Pigs
- #634 - Find the Derangement of An Array
- #808 - Soup Servings
- #837 - New 21 Game
- #878 - Nth Magical Number
- #920 - Number of Music Playlists
- #1175 - Prime Arrangements
- #1227 - Airplane Seat Assignment Probability
- #1259 - Handshakes That Don't Cross
- #1359 - Count All Valid Pickup and Delivery Options
- #1467 - Probability of a Two Boxes Having The Same Number
- #1569 - Number of Ways to Reorder Array to Get Same BST
- #1573 - Number of Ways to Split a String
- #1621 - Number of Sets of K Non-Overlapping Line Segments
- #1641 - Count Sorted Vowel Strings
- #1643 - Kth Smallest Instructions
- #1692 - Count Ways to Distribute Candies
- #1735 - Count Ways to Make Array With Product
- #1830 - Minimum Number of Operations to Make String Sorted
- #1866 - Number of Ways to Rearrange Sticks With K Visible
- #1916 - Count Ways to Build Rooms in an Ant Colony
- #2003 - Smallest Missing Genetic Value in Each Subtree
- #2147 - Number of Ways to Divide a Long Corridor
- #2221 - Find Triangular Sum of an Array
- #2318 - Number of Distinct Roll Sequences
- #2338 - Count the Number of Ideal Arrays
- #149 - Max Points on a Line
- #223 - Rectangle Area
- #356 - Line Reflection
- #469 - Convex Polygon
- #478 - Generate Random Point in a Circle
- #497 - Random Point in Non-overlapping Rectangles
- #587 - Erect the Fence
- #593 - Valid Square
- #611 - Valid Triangle Number
- #612 - Shortest Distance in a Plane
- #812 - Largest Triangle Area
- #836 - Rectangle Overlap
- #858 - Mirror Reflection
- #883 - Projection Area of 3D Shapes
- #892 - Surface Area of 3D Shapes
- #939 - Minimum Area Rectangle
- #963 - Minimum Area Rectangle II
- #973 - K Closest Points to Origin
- #1030 - Matrix Cells in Distance Order
- #1037 - Valid Boomerang
- #1232 - Check If It Is a Straight Line
- #1266 - Minimum Time Visiting All Points
- #1401 - Circle and Rectangle Overlapping
- #1453 - Maximum Number of Darts Inside of a Circular Dartboard
- #1515 - Best Position for a Service Centre
- #1610 - Maximum Number of Visible Points
- #1637 - Widest Vertical Area Between Two Points
- #1828 - Queries on Number of Points Inside a Circle
- #1924 - Erect the Fence II
- #1956 - Minimum Time For K Virus Variants to Spread
- #2013 - Detect Squares
- #2101 - Detonate the Maximum Bombs
- #2152 - Minimum Number of Lines to Cover Points
- #2249 - Count Lattice Points Inside a Circle
- #2280 - Minimum Lines to Represent a Line Chart
- #1 - Two Sum
- #20 - Valid Parentheses
- #21 - Merge Two Sorted Lists
- #26 - Remove Duplicates from Sorted Array
- #53 - Maximum Subarray
- #66 - Plus One
- #70 - Climbing Stairs
- #88 - Merge Sorted Array
- #101 - Symmetric Tree
- #104 - Maximum Depth of Binary Tree
- #121 - Best Time to Buy and Sell Stock
- #125 - Valid Palindrome
- #136 - Single Number
- #141 - Linked List Cycle
- #155 - Min Stack
- #169 - Majority Element
- #206 - Reverse Linked List
- #217 - Contains Duplicate
- #226 - Invert Binary Tree
- #242 - Valid Anagram
- #283 - Move Zeroes
- #344 - Reverse String
- #704 - Binary Search
- #3 - Longest Substring Without Repeating Characters
- #5 - Longest Palindromic Substring
- #11 - Container With Most Water
- #15 - 3Sum
- #17 - Letter Combinations of a Phone Number
- #19 - Remove Nth Node From End of List
- #22 - Generate Parentheses
- #33 - Search in Rotated Sorted Array
- #39 - Combination Sum
- #46 - Permutations
- #48 - Rotate Image
- #49 - Group Anagrams
- #55 - Jump Game
- #56 - Merge Intervals
- #62 - Unique Paths
- #73 - Set Matrix Zeroes
- #78 - Subsets
- #79 - Word Search
- #98 - Validate Binary Search Tree
- #102 - Binary Tree Level Order Traversal
- #139 - Word Break
- #146 - LRU Cache
- #152 - Maximum Product Subarray
- #200 - Number of Islands
- #207 - Course Schedule
- #208 - Implement Trie
- #215 - Kth Largest Element in an Array
- #238 - Product of Array Except Self
- #300 - Longest Increasing Subsequence
- #322 - Coin Change
- #4 - Median of Two Sorted Arrays
- #10 - Regular Expression Matching
- #23 - Merge k Sorted Lists
- #25 - Reverse Nodes in k-Group
- #32 - Longest Valid Parentheses
- #41 - First Missing Positive
- #42 - Trapping Rain Water
- #44 - Wildcard Matching
- #51 - N-Queens
- #72 - Edit Distance
- #76 - Minimum Window Substring
- #84 - Largest Rectangle in Histogram
- #124 - Binary Tree Maximum Path Sum
- #126 - Word Ladder II
- #127 - Word Ladder
- #135 - Candy
- #212 - Word Search II
- #239 - Sliding Window Maximum
- #269 - Alien Dictionary
- #295 - Find Median from Data Stream
- #297 - Serialize and Deserialize Binary Tree
- #312 - Burst Balloons
- #329 - Longest Increasing Path in a Matrix
- #410 - Split Array Largest Sum
- #1 - Two Sum
- #3 - Longest Substring Without Repeating Characters
- #4 - Median of Two Sorted Arrays
- #5 - Longest Palindromic Substring
- #10 - Regular Expression Matching
- #17 - Letter Combinations of a Phone Number
- #20 - Valid Parentheses
- #22 - Generate Parentheses
- #23 - Merge k Sorted Lists
- #42 - Trapping Rain Water
- #48 - Rotate Image
- #56 - Merge Intervals
- #127 - Word Ladder
- #146 - LRU Cache
- #200 - Number of Islands
- #208 - Implement Trie
- #215 - Kth Largest Element in an Array
- #253 - Meeting Rooms II
- #295 - Find Median from Data Stream
- #329 - Longest Increasing Path in a Matrix
- #340 - Longest Substring with At Most K Distinct Characters
- #359 - Logger Rate Limiter
- #380 - Insert Delete GetRandom O(1)
- #394 - Decode String
- #399 - Evaluate Division
- #410 - Split Array Largest Sum
- #418 - Sentence Screen Fitting
- #425 - Word Squares
- #489 - Robot Room Cleaner
- #552 - Student Attendance Record II
- #642 - Design Search Autocomplete System
- #683 - K Empty Slots
- #727 - Minimum Window Subsequence
- #843 - Guess the Word
- #1048 - Longest String Chain
- #1153 - String Transforms Into Another String
- #1 - Two Sum
- #2 - Add Two Numbers
- #3 - Longest Substring Without Repeating Characters
- #5 - Longest Palindromic Substring
- #15 - 3Sum
- #17 - Letter Combinations of a Phone Number
- #20 - Valid Parentheses
- #21 - Merge Two Sorted Lists
- #23 - Merge k Sorted Lists
- #42 - Trapping Rain Water
- #48 - Rotate Image
- #49 - Group Anagrams
- #53 - Maximum Subarray
- #56 - Merge Intervals
- #121 - Best Time to Buy and Sell Stock
- #127 - Word Ladder
- #138 - Copy List with Random Pointer
- #139 - Word Break
- #146 - LRU Cache
- #200 - Number of Islands
- #206 - Reverse Linked List
- #207 - Course Schedule
- #210 - Course Schedule II
- #212 - Word Search II
- #234 - Palindrome Linked List
- #236 - Lowest Common Ancestor of a Binary Tree
- #238 - Product of Array Except Self
- #239 - Sliding Window Maximum
- #240 - Search a 2D Matrix II
- #253 - Meeting Rooms II
- #269 - Alien Dictionary
- #273 - Integer to English Words
- #297 - Serialize and Deserialize Binary Tree
- #348 - Design Tic-Tac-Toe
- #380 - Insert Delete GetRandom O(1)
- #394 - Decode String
- #472 - Concatenated Words
- #545 - Boundary of Binary Tree
- #588 - Design In-Memory File System
- #692 - Top K Frequent Words
- #733 - Flood Fill
- #763 - Partition Labels
- #819 - Most Common Word
- #937 - Reorder Data in Log Files
- #973 - K Closest Points to Origin
- #994 - Rotting Oranges
- #1152 - Analyze User Website Visit Pattern
- #1192 - Critical Connections in a Network
- #1268 - Search Suggestions System
- #1 - Two Sum
- #10 - Regular Expression Matching
- #15 - 3Sum
- #17 - Letter Combinations of a Phone Number
- #20 - Valid Parentheses
- #23 - Merge k Sorted Lists
- #25 - Reverse Nodes in k-Group
- #31 - Next Permutation
- #33 - Search in Rotated Sorted Array
- #34 - Find First and Last Position of Element
- #42 - Trapping Rain Water
- #43 - Multiply Strings
- #50 - Pow(x, n)
- #56 - Merge Intervals
- #65 - Valid Number
- #67 - Add Binary
- #68 - Text Justification
- #71 - Simplify Path
- #75 - Sort Colors
- #76 - Minimum Window Substring
- #88 - Merge Sorted Array
- #91 - Decode Ways
- #98 - Validate Binary Search Tree
- #124 - Binary Tree Maximum Path Sum
- #125 - Valid Palindrome
- #127 - Word Ladder
- #133 - Clone Graph
- #138 - Copy List with Random Pointer
- #139 - Word Break
- #146 - LRU Cache
- #158 - Read N Characters Given Read4 II
- #161 - One Edit Distance
- #173 - Binary Search Tree Iterator
- #199 - Binary Tree Right Side View
- #200 - Number of Islands
- #211 - Design Add and Search Words Data Structure
- #215 - Kth Largest Element in an Array
- #227 - Basic Calculator II
- #236 - Lowest Common Ancestor of a Binary Tree
- #238 - Product of Array Except Self
- #249 - Group Shifted Strings
- #269 - Alien Dictionary
- #273 - Integer to English Words
- #282 - Expression Add Operators
- #297 - Serialize and Deserialize Binary Tree
- #301 - Remove Invalid Parentheses
- #304 - Range Sum Query 2D - Immutable
- #314 - Binary Tree Vertical Order Traversal
- #325 - Maximum Size Subarray Sum Equals k
- #339 - Nested List Weight Sum
- #1 - Two Sum
- #2 - Add Two Numbers
- #3 - Longest Substring Without Repeating Characters
- #4 - Median of Two Sorted Arrays
- #5 - Longest Palindromic Substring
- #8 - String to Integer (atoi)
- #13 - Roman to Integer
- #15 - 3Sum
- #20 - Valid Parentheses
- #21 - Merge Two Sorted Lists
- #22 - Generate Parentheses
- #23 - Merge k Sorted Lists
- #24 - Swap Nodes in Pairs
- #25 - Reverse Nodes in k-Group
- #33 - Search in Rotated Sorted Array
- #46 - Permutations
- #48 - Rotate Image
- #49 - Group Anagrams
- #53 - Maximum Subarray
- #54 - Spiral Matrix
- #56 - Merge Intervals
- #70 - Climbing Stairs
- #71 - Simplify Path
- #73 - Set Matrix Zeroes
- #75 - Sort Colors
- #79 - Word Search
- #88 - Merge Sorted Array
- #91 - Decode Ways
- #98 - Validate Binary Search Tree
- #101 - Symmetric Tree
- #102 - Binary Tree Level Order Traversal
- #103 - Binary Tree Zigzag Level Order Traversal
- #105 - Construct Binary Tree from Preorder and Inorder
- #116 - Populating Next Right Pointers in Each Node
- #117 - Populating Next Right Pointers in Each Node II
- #121 - Best Time to Buy and Sell Stock
- #124 - Binary Tree Maximum Path Sum
- #125 - Valid Palindrome
- #138 - Copy List with Random Pointer
- #139 - Word Break
- #141 - Linked List Cycle
- #146 - LRU Cache
- #151 - Reverse Words in a String
- #153 - Find Minimum in Rotated Sorted Array
- #155 - Min Stack
- #160 - Intersection of Two Linked Lists
- #162 - Find Peak Element
- #165 - Compare Version Numbers
- #168 - Excel Sheet Column Title
- #171 - Excel Sheet Column Number
When to use: Problems involving subarrays/substrings with specific conditions
- Fixed Window: Window size k is given
- Variable Window: Find optimal window size
- Two Pointers: Start and end pointers
Key Problems:
- Maximum Sum Subarray of Size K
- Longest Substring Without Repeating Characters
- Minimum Window Substring
- Permutation in String
Common Indicators:
- "Maximum/minimum subarray/substring"
- "Window of size k"
- "Longest/shortest substring with condition"
When to use: Sorted arrays, palindromes, or when you need to compare elements
- Same Direction: Fast and slow pointers
- Opposite Direction: Start and end converging
- Multiple Arrays: Merge operations
Key Problems:
- Two Sum (sorted array)
- 3Sum
- Container With Most Water
- Valid Palindrome
- Merge Sorted Array
Common Indicators:
- "Pair with given sum"
- "Triplet/quadruplet"
- "Compare elements from both ends"
- "Sorted array"
When to use: Cycle detection, finding middle element
- Detect cycle in linked list
- Find start of cycle
- Find middle of linked list
- Happy Number problem
Key Problems:
- Linked List Cycle
- Find Duplicate Number
- Middle of Linked List
- Palindrome Linked List
Common Indicators:
- "Detect cycle"
- "Find middle"
- "Find duplicate in range [1,n]"
When to use: Overlapping intervals problems
Key Problems:
- Merge Intervals
- Insert Interval
- Meeting Rooms I & II
- Employee Free Time
Common Indicators:
- "Overlapping intervals"
- "Merge ranges"
- "Free time"
- "Conflict detection"
When to use: Numbers in range [1, n], finding missing/duplicate
Key Problems:
- Missing Number
- Find All Duplicates
- Find Duplicate Number
- First Missing Positive
Common Indicators:
- "Numbers from 1 to n"
- "Find missing/duplicate"
- "Constant space required"
- "Array contains numbers in given range"
When to use: Reverse linked list problems
Key Problems:
- Reverse Linked List
- Reverse Linked List II
- Reverse Nodes in k-Group
- Rotate List
Common Indicators:
- "Reverse linked list"
- "Reverse in groups"
- "Rotate list"
When to use: Level-order traversal, shortest path in tree
Key Problems:
- Binary Tree Level Order Traversal
- Zigzag Level Order
- Binary Tree Right Side View
- Minimum Depth of Binary Tree
- Connect Level Order Siblings
Common Indicators:
- "Level by level"
- "Level order"
- "Shortest path in tree"
- "Minimum depth"
When to use: Path problems, subtree problems
Key Problems:
- Path Sum (I, II, III)
- Diameter of Binary Tree
- Binary Tree Maximum Path Sum
- Lowest Common Ancestor
Common Indicators:
- "All paths"
- "Path sum"
- "Subtree"
- "Ancestor problems"
When to use: Finding median, scheduling problems
Key Problems:
- Find Median from Data Stream
- Sliding Window Median
- IPO
- Meeting Rooms III
Common Indicators:
- "Median in stream"
- "Schedule tasks"
- "Balance between two halves"
When to use: Generate all combinations/permutations
Key Problems:
- Subsets
- Permutations
- Combination Sum
- Letter Combinations
- Generate Parentheses
Common Indicators:
- "All combinations"
- "All permutations"
- "All possible ways"
- "Generate all"
When to use: Sorted array with twist, find boundary
Key Problems:
- Search in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- Search a 2D Matrix
- Find Peak Element
- First Bad Version
Common Indicators:
- "Sorted array"
- "Find in O(log n)"
- "Nearly sorted"
- "Find peak/valley"
When to use: Find k largest/smallest elements
Key Problems:
- Kth Largest Element
- Top K Frequent Elements
- K Closest Points to Origin
- Sort Characters By Frequency
Common Indicators:
- "K largest/smallest"
- "Top K"
- "K most frequent"
- "K closest"
When to use: Merge k sorted arrays/lists
Key Problems:
- Merge k Sorted Lists
- Kth Smallest in Sorted Matrix
- Smallest Range Covering Elements from K Lists
- Find K Pairs with Smallest Sums
Common Indicators:
- "Merge k sorted"
- "K lists/arrays"
- "Smallest range in k lists"
When to use: Optimization with constraints
Key Problems:
- Partition Equal Subset Sum
- Target Sum
- Coin Change 2
- Last Stone Weight II
Common Indicators:
- "Maximum value with weight limit"
- "Subset with given sum"
- "Ways to make change"
- "Partition array"
When to use: Unlimited use of elements
Key Problems:
- Coin Change
- Cutting Rod
- Maximum Ribbon Cut
- Minimum Cost for Tickets
Common Indicators:
- "Unlimited use"
- "Minimum coins"
- "Cut into pieces"
- "Multiple use allowed"
When to use: Problems with recurrence relation
Key Problems:
- Climbing Stairs
- House Robber
- Fibonacci Number
- Jump Game
Common Indicators:
- "Number of ways"
- "Reach the end"
- "Maximum profit without adjacent"
When to use: Palindrome-related DP problems
Key Problems:
- Longest Palindromic Substring
- Longest Palindromic Subsequence
- Count Palindromic Substrings
- Minimum Deletions to Make Palindrome
Common Indicators:
- "Palindrome"
- "Longest palindromic"
- "Minimum deletions for palindrome"
When to use: Finding common patterns in strings
Key Problems:
- Longest Common Subsequence
- Edit Distance
- Minimum Deletions & Insertions
- Longest Increasing Subsequence
Common Indicators:
- "Longest common"
- "Edit distance"
- "Convert string A to B"
- "Minimum operations"
When to use: Dependencies, prerequisites, ordering
Key Problems:
- Course Schedule (I & II)
- Alien Dictionary
- Sequence Reconstruction
- Minimum Height Trees
Common Indicators:
- "Prerequisites"
- "Dependencies"
- "Ordering"
- "Build order"
- "Valid sequence"
When to use: Connected components, detect cycles
Key Problems:
- Number of Islands II
- Redundant Connection
- Accounts Merge
- Satisfiability of Equality Equations
Common Indicators:
- "Connected components"
- "Groups/Sets"
- "Detect cycle in undirected graph"
- "Dynamic connectivity"
When to use: Next greater/smaller element
Key Problems:
- Next Greater Element
- Daily Temperatures
- Largest Rectangle in Histogram
- Trapping Rain Water
Common Indicators:
- "Next greater/smaller"
- "Previous greater/smaller"
- "Largest rectangle"
- "Stock span"
When to use: Optimize space, XOR properties
Key Problems:
- Single Number
- Number of 1 Bits
- Counting Bits
- XOR Queries
Common Indicators:
- "Without extra space"
- "Appears once/twice"
- "Power of 2"
- "XOR operations"
When to use: Prefix matching, word search
Key Problems:
- Implement Trie
- Word Search II
- Design Add and Search Words
- Replace Words
Common Indicators:
- "Prefix"
- "Word search"
- "Auto-complete"
- "Dictionary"
When to use: Two-coloring problems
Key Problems:
- Is Graph Bipartite?
- Possible Bipartition
- Color the Graph
Common Indicators:
- "Two groups"
- "No adjacent same"
- "Bipartite"
- "Two colors"
When to use: Connect all points with minimum cost
Key Problems:
- Min Cost to Connect All Points
- Connecting Cities With Minimum Cost
- Optimize Water Distribution
Common Indicators:
- "Connect all points"
- "Minimum cost network"
- "Minimum total weight"
- Is it an Array/String problem?
- Sorted? → Two Pointers / Binary Search
- Subarray/Substring? → Sliding Window
- Intervals? → Merge Intervals
- Range [1,n]? → Cyclic Sort
- Is it a Linked List problem?
- Reverse? → In-place Reversal
- Cycle? → Fast & Slow Pointers
- Merge? → Two Pointers
- Is it a Tree/Graph problem?
- Level-wise? → BFS
- Path/Subtree? → DFS
- Shortest Path? → BFS/Dijkstra
- Dependencies? → Topological Sort
- Groups? → Union Find
- Is it an Optimization problem?
- Choices at each step? → Dynamic Programming
- Generate all solutions? → Backtracking
- Local optimum → global? → Greedy
- K elements? → Heap
- Is it a Search problem?
- Sorted? → Binary Search
- Prefix? → Trie
- Next element? → Monotonic Stack
| Pattern | Time Complexity | Space Complexity |
|---|---|---|
| Sliding Window | O(n) | O(1) or O(k) |
| Two Pointers | O(n) or O(nlogn) | O(1) |
| Fast & Slow | O(n) | O(1) |
| Merge Intervals | O(nlogn) | O(n) |
| Cyclic Sort | O(n) | O(1) |
| Tree BFS | O(n) | O(n) |
| Tree DFS | O(n) | O(h) |
| Backtracking | O(2^n) or O(n!) | O(n) |
| Binary Search | O(logn) | O(1) |
| Heap Operations | O(nlogk) | O(k) |
| Dynamic Programming | O(n²) or O(nm) | O(n) or O(nm) |
| Topological Sort | O(V+E) | O(V+E) |
| Union Find | O(α(n)) ≈ O(1) | O(n) |
| Trie | O(m) per operation | O(ALPHABET_SIZE * m * n) |
| If you see... | Think... |
|---|---|
| "Maximum/minimum subarray" | Sliding Window / Kadane's |
| "Sorted array" | Binary Search / Two Pointers |
| "Top/kth element" | Heap |
| "Generate all" | Backtracking |
| "Optimize" | Dynamic Programming |
| "Tree level" | BFS |
| "Tree path" | DFS |
| "Graph shortest path" | BFS / Dijkstra |
| "Dependencies" | Topological Sort |
| "Groups/Components" | Union Find / DFS |
| "Parentheses/Brackets" | Stack |
| "Next greater" | Monotonic Stack |
| "Palindrome" | Two Pointers / DP |
| "Overlapping intervals" | Sort + Merge |
| "In-place" | Cyclic Sort / Two Pointers |
| "Stream of data" | Heap / Design |
| "Prefix" | Trie |
| "Range query" | Segment Tree / BIT |
- Understand the problem completely
- Read the problem 2-3 times
- Look at examples
- Ask clarifying questions
- Identify the pattern
- What category does this fall into?
- Have you seen similar problems?
- What data structure is most suitable?
- Start with brute force
- Get a working solution first
- Then optimize
- Optimize step by step
- Time complexity
- Space complexity
- Code readability
- Handle edge cases
- Empty input
- Single element
- Negative numbers
- Overflow
- Test your solution
- Walk through examples
- Test edge cases
- Verify complexity
- Easy Problems: 15-20 minutes
- Medium Problems: 25-35 minutes
- Hard Problems: 40-50 minutes
- If stuck after allocated time, look at hints/discussion
- Daily: 2-3 problems (1 easy, 1-2 medium)
- Weekly: 15-20 problems + 1-2 hard problems
- Review: Revisit problems after 2-3 weeks
- Mock Interviews: Weekly timed sessions
- Jumping to code without understanding
- Not considering edge cases
- Ignoring time/space complexity
- Not testing with examples
- Over-complicating simple problems
- Under-estimating hard problems
- Think out loud - Explain your thought process
- Ask questions - Clarify requirements
- Start simple - Begin with brute force
- Optimize - Discuss trade-offs
- Test - Walk through your solution
- Be receptive - Accept hints gracefully
- Cracking the Coding Interview
- Elements of Programming Interviews
- Algorithm Design Manual
- LeetCode Discussion Forums
- YouTube Channels (NeetCode, Back to Back SWE)
- System Design Primer
- LeetCode
- HackerRank
- CodeSignal
- Pramp (Mock Interviews)