| 1 | | |
| Course Roadmap | | |
| Join the Community | | |
| 2 | Coding Interview Strategy | |
| How Coding Interviews Work | | |
| How to Communicate During Interviews | | |
| Time Management in Coding Interviews | | |
| How to Identify Which Pattern to Use | | |
| How to Handle Unseen Problems | | |
| 3 | | |
| Introduction | | |
| Best, Worst, and Average Complexity | | |
| Amortized Analysis | | |
| Recurrence Relations | | |
| Master Theorem | | |
| 4 | | |
| Java for DSA | | |
| Python for DSA | | |
| C++ for DSA | | |
| C# for DSA | | |
| JavaScript for DSA | | |
| TypeScript for DSA | | |
| 5 | | |
| Bubble Sort | | |
| Selection Sort | | |
| Insertion Sort | | |
| Shell Sort | | |
| Merge Sort | | |
| Quick Sort | | |
| Heap Sort | | |
| Counting Sort | | |
| Bucket Sort | | |
| Radix Sort | | |
| 6 | | |
| Introduction | | |
| Array Manipulation | | |
| Move ZeroesEasy | | Easy |
| Remove ElementEasy | | Easy |
| Shuffle the ArrayEasy | | Easy |
| Remove Duplicates from Sorted ArrayEasy | | Easy |
| Remove Duplicates from Sorted Array IIMedium | | Medium |
| Rotate ArrayMedium | | Medium |
| Finding & Counting | | |
| Max Consecutive OnesEasy | | Easy |
| Third Maximum NumberEasy | | Easy |
| Missing RangesEasy | | Easy |
| Majority ElementEasy | | Easy |
| Majority Element IIMedium | | Medium |
| Stock Problems | | |
| Best Time to Buy and Sell StockEasy | | Easy |
| Best Time to Buy and Sell Stock IIMedium | | Medium |
| Subarrays & Subsequences | | |
| Number of Zero-Filled SubarraysMedium | | Medium |
| Increasing Triplet SubsequenceMedium | | Medium |
| Advanced Techniques | | |
| Product of Array Except SelfMedium | | Medium |
| Next PermutationMedium | | Medium |
| First Missing PositiveHard | | Hard |
| 7 | | |
| String Basics | | |
| Reverse StringEasy | | Easy |
| Length of Last WordEasy | | Easy |
| Find the Index of the First Occurrence in a StringEasy | | Easy |
| Palindromes | | |
| Valid PalindromeEasy | | Easy |
| Valid Palindrome IIEasy | | Easy |
| Longest PalindromeEasy | | Easy |
| Anagrams & Patterns | | |
| Valid AnagramEasy | | Easy |
| Rotate StringEasy | | Easy |
| Is SubsequenceEasy | | Easy |
| Longest Common PrefixEasy | | Easy |
| String Transformations | | |
| Zigzag ConversionMedium | | Medium |
| Reverse Words in a StringMedium | | Medium |
| One Edit DistanceMedium | | Medium |
| Count and SayMedium | | Medium |
| Determine if Two Strings Are CloseMedium | | Medium |
| Add Bold Tag in StringMedium | | Medium |
| Hard String Problems | | |
| Guess the WordHard | | Hard |
| Text JustificationHard | | Hard |
| 8 | | |
| Introduction | | |
| XOR Tricks | | |
| Single NumberEasy | | Easy |
| Missing NumberEasy | | Easy |
| Set MismatchEasy | | Easy |
| Single Number IIMedium | | Medium |
| Single Number IIIMedium | | Medium |
| Bit Counting | | |
| Number of 1 BitsEasy | | Easy |
| Counting BitsEasy | | Easy |
| Hamming DistanceEasy | | Easy |
| Bit Masking | | |
| Power of TwoEasy | | Easy |
| Reverse BitsEasy | | Easy |
| Bitwise AND of Numbers RangeMedium | | Medium |
| Sum of Two IntegersMedium | | Medium |
| 9 | | |
| Introduction to Hash Tables | | |
| Frequency Counting | | |
| Design HashMapEasy | | Easy |
| Frequency & Counting | | |
| Maximum Number of BalloonsEasy | | Easy |
| Number of Good PairsEasy | | Easy |
| Ransom NoteEasy | | Easy |
| First Unique Character in a StringEasy | | Easy |
| Find All Numbers Disappeared in an ArrayEasy | | Easy |
| Duplicate Detection | | |
| Contains DuplicateEasy | | Easy |
| Contains Duplicate IIEasy | | Easy |
| Intersection of Two Arrays IIEasy | | Easy |
| Pattern Matching | | |
| Isomorphic StringsEasy | | Easy |
| Word PatternEasy | | Easy |
| Group AnagramsMedium | | Medium |
| Group Shifted StringsMedium | | Medium |
| Advanced Hashing | | |
| Encode and Decode TinyURLMedium | | Medium |
| Reorganize StringMedium | | Medium |
| Longest Consecutive SequenceMedium | | Medium |
| Number of Matching SubsequencesMedium | | Medium |
| Number of Good Ways to Split a StringMedium | | Medium |
| Split Array into Consecutive SubsequencesMedium | | Medium |
| Minimum Deletions to Make Character Frequencies UniqueMedium | | Medium |
| 10 | | |
| Introduction | | |
| Opposite Direction | | |
| Squares of a Sorted ArrayEasy | | Easy |
| Merge Strings AlternatelyEasy | | Easy |
| Valid Word AbbreviationEasy | | Easy |
| Two SumEasy | | Easy |
| Two Sum II - Input Array Is SortedMedium | | Medium |
| Container With Most WaterMedium | | Medium |
| 3SumMedium | | Medium |
| 4SumMedium | | Medium |
| Trapping Rain WaterHard | | Hard |
| Count Subarrays With Fixed BoundsHard | | Hard |
| Same Direction | | |
| Merge Sorted ArrayEasy | | Easy |
| Backspace String CompareEasy | | Easy |
| Count Binary SubstringsEasy | | Easy |
| String CompressionMedium | | Medium |
| Boats to Save PeopleMedium | | Medium |
| Longest Palindromic SubstringMedium | | Medium |
| 11 | | |
| Introduction | | |
| Basic Prefix Sum | | |
| Range Sum Query - ImmutableEasy | | Easy |
| Running Sum of 1d ArrayEasy | | Easy |
| Find Pivot IndexEasy | | Easy |
| Maximum Population YearEasy | | Easy |
| Prefix Sum + Hash Map | | |
| Subarray Sum Equals KMedium | | Medium |
| Subarray Sums Divisible by KMedium | | Medium |
| Continuous Subarray SumMedium | | Medium |
| Contiguous ArrayMedium | | Medium |
| 2D Prefix Sum | | |
| Range AdditionMedium | | Medium |
| Range Sum Query 2D - ImmutableMedium | | Medium |
| Increment Submatrices by OneMedium | | Medium |
| Matrix Block SumMedium | | Medium |
| 12 | | |
| Introduction | | |
| Fixed Size | | |
| Maximum Average Subarray IEasy | | Easy |
| Find All Anagrams in a StringMedium | | Medium |
| Permutation in StringMedium | | Medium |
| Maximum Sum of Distinct Subarrays With Length KMedium | | Medium |
| Maximum Number of Vowels in a Substring of Given LengthMedium | | Medium |
| Substring with Concatenation of All WordsHard | | Hard |
| Dynamic Size | | |
| Longest Substring Without Repeating CharactersMedium | | Medium |
| Longest Repeating Character ReplacementMedium | | Medium |
| Minimum Size Subarray SumMedium | | Medium |
| Max Consecutive Ones IIIMedium | | Medium |
| Count Number of Nice SubarraysMedium | | Medium |
| Fruit Into BasketsMedium | | Medium |
| Maximum Points You Can Obtain from CardsMedium | | Medium |
| Subarray Product Less Than KMedium | | Medium |
| Frequency of the Most Frequent ElementMedium | | Medium |
| Longest Substring with At Most Two Distinct CharactersMedium | | Medium |
| Longest Substring with At Most K Distinct CharactersMedium | | Medium |
| Longest Substring with At Least K Repeating CharactersMedium | | Medium |
| Minimum Window SubstringHard | | Hard |
| Minimum Window SubsequenceHard | | Hard |
| Subarrays with K Different IntegersHard | | Hard |
| 13 | | |
| Introduction | | |
| Classic Kadane | | |
| Maximum SubarrayMedium | | Medium |
| Best Sightseeing PairMedium | | Medium |
| Kadane Variants | | |
| Maximum Sum Circular SubarrayMedium | | Medium |
| Maximum Product SubarrayMedium | | Medium |
| Longest Turbulent SubarrayMedium | | Medium |
| Kadane with Constraints | | |
| Maximum Subarray Sum with One DeletionMedium | | Medium |
| Maximum Absolute Sum of Any SubarrayMedium | | Medium |
| 14 | | |
| Matrix Traversal | | |
| Spiral MatrixMedium | | Medium |
| Spiral Matrix IIMedium | | Medium |
| Diagonal TraverseMedium | | Medium |
| Valid SudokuMedium | | Medium |
| Matrix Transformation | | |
| Transpose MatrixEasy | | Easy |
| Rotate ImageMedium | | Medium |
| Set Matrix ZeroesMedium | | Medium |
| Candy CrushMedium | | Medium |
| Game of LifeMedium | | Medium |
| 15 | | |
| Introduction | | |
| Intersection of Two Linked ListsEasy | | Easy |
| Remove Duplicates from Sorted ListEasy | | Easy |
| Design Linked ListMedium | | Medium |
| Remove Nth Node From End of ListMedium | | Medium |
| Remove Duplicates from Sorted List IIMedium | | Medium |
| Swap Nodes in PairsMedium | | Medium |
| Copy List with Random PointerMedium | | Medium |
| Partition ListMedium | | Medium |
| Rotate ListMedium | | Medium |
| Add Two NumbersMedium | | Medium |
| Flatten a Multilevel Doubly Linked ListMedium | | Medium |
| Delete the Middle Node of a Linked ListMedium | | Medium |
| Odd Even Linked ListMedium | | Medium |
| Reorder ListMedium | | Medium |
| Add Two Numbers IIMedium | | Medium |
| Delete Node in a Linked ListMedium | | Medium |
| Insert into a Sorted Circular Linked ListMedium | | Medium |
| Merge In Between Linked ListsMedium | | Medium |
| In-place Reversal | | |
| Introduction | | |
| Palindrome Linked ListEasy | | Easy |
| Reverse Linked ListEasy | | Easy |
| Reverse Linked List IIMedium | | Medium |
| Reverse Nodes in k-GroupHard | | Hard |
| Fast and Slow Pointers | | |
| Introduction | | |
| Middle of the Linked ListEasy | | Easy |
| Happy NumberEasy | | Easy |
| Linked List Cycle IIMedium | | Medium |
| 16 | | |
| Introduction | | |
| Valid ParenthesesEasy | | Easy |
| Remove All Adjacent Duplicates In StringEasy | | Easy |
| Baseball GameEasy | | Easy |
| Maximum Nesting Depth of the ParenthesesEasy | | Easy |
| Min StackMedium | | Medium |
| Remove Duplicate LettersMedium | | Medium |
| Removing Stars From a StringMedium | | Medium |
| Evaluate Reverse Polish NotationMedium | | Medium |
| Basic Calculator IIMedium | | Medium |
| Asteroid CollisionMedium | | Medium |
| Car FleetMedium | | Medium |
| Valid Parenthesis StringMedium | | Medium |
| Validate Stack SequencesMedium | | Medium |
| Minimum Remove to Make Valid ParenthesesMedium | | Medium |
| Simplify PathMedium | | Medium |
| Exclusive Time of FunctionsMedium | | Medium |
| Basic CalculatorMedium | | Medium |
| Longest Valid ParenthesesHard | | Hard |
| Monotonic Stack | | |
| Introduction | | |
| Next Greater Element IEasy | | Easy |
| Final Prices With a Special Discount in a ShopEasy | | Easy |
| Daily TemperaturesMedium | | Medium |
| Online Stock SpanMedium | | Medium |
| 132 PatternMedium | | Medium |
| Next Greater Element IIMedium | | Medium |
| Buildings With an Ocean ViewMedium | | Medium |
| Remove K DigitsMedium | | Medium |
| Maximum Width RampMedium | | Medium |
| Max Chunks To Make SortedMedium | | Medium |
| Sum of Subarray MinimumsMedium | | Medium |
| Sum of Subarray RangesMedium | | Medium |
| Shortest Unsorted Continuous SubarrayMedium | | Medium |
| Next Greater Node In Linked ListMedium | | Medium |
| Create Maximum NumberHard | | Hard |
| Number of Visible People in a QueueHard | | Hard |
| Largest Rectangle in HistogramHard | | Hard |
| 17 | | |
| Introduction | | |
| Number of Recent CallsEasy | | Easy |
| Time Needed to Buy TicketsEasy | | Easy |
| Moving Average from Data StreamEasy | | Easy |
| Reveal Cards In Increasing OrderMedium | | Medium |
| First Unique NumberMedium | | Medium |
| Number of People Aware of a SecretMedium | | Medium |
| Find the Winner of the Circular GameMedium | | Medium |
| Monotonic Queue | | |
| Continuous SubarraysMedium | | Medium |
| Jump Game VIMedium | | Medium |
| Find the Most Competitive SubsequenceMedium | | Medium |
| Count Partitions With Max-Min Difference at Most KMedium | | Medium |
| Longest Continuous Subarray With Absolute Diff Less Than or Equal to LimitMedium | | Medium |
| Sliding Window MaximumHard | | Hard |
| Max Value of EquationHard | | Hard |
| Constrained Subsequence SumHard | | Hard |
| Shortest Subarray with Sum at Least KHard | | Hard |
| 18 | | |
| Bucket Sort | | |
| Sort Characters By FrequencyMedium | | Medium |
| Top K Frequent WordsMedium | | Medium |
| Maximum GapMedium | | Medium |
| Contains Duplicate IIIHard | | Hard |
| Merge Sort | | |
| Sort an ArrayMedium | | Medium |
| Sort ListMedium | | Medium |
| Reverse PairsHard | | Hard |
| Count of Range SumHard | | Hard |
| Quick Sort / QuickSelect | | |
| Sort ColorsMedium | | Medium |
| Kth Largest Element in an ArrayMedium | | Medium |
| Find the Kth Largest Integer in the ArrayMedium | | Medium |
| 19 | | |
| Recursion Fundamentals | | |
| Introduction to Backtracking | | |
| Recursion Basics | | |
| Merge Two Sorted ListsEasy | | Easy |
| Pow(x, n)Medium | | Medium |
| Decode StringMedium | | Medium |
| Subsets & Combinations | | |
| SubsetsMedium | | Medium |
| Combination SumMedium | | Medium |
| Combination Sum IIMedium | | Medium |
| Subsets IIMedium | | Medium |
| Combination Sum IIIMedium | | Medium |
| CombinationsMedium | | Medium |
| Permutations | | |
| PermutationsMedium | | Medium |
| Letter Combinations of a Phone NumberMedium | | Medium |
| Permutations IIMedium | | Medium |
| Partitioning & Parsing | | |
| Generate ParenthesesMedium | | Medium |
| Palindrome PartitioningMedium | | Medium |
| Restore IP AddressesMedium | | Medium |
| Hard Backtracking | | |
| N-QueensHard | | Hard |
| Special Binary StringHard | | Hard |
| Integer to English WordsHard | | Hard |
| Unique Paths IIIHard | | Hard |
| Remove Invalid ParenthesesHard | | Hard |
| Sudoku SolverHard | | Hard |
| 20 | | |
| Introduction | | |
| Longest Nice SubstringEasy | | Easy |
| Convert Sorted List to Binary Search TreeMedium | | Medium |
| Construct Quad TreeMedium | | Medium |
| Maximum Binary TreeMedium | | Medium |
| 21 | | |
| Introduction | | |
| Standard Binary Search | | |
| Binary SearchEasy | | Easy |
| First Bad VersionEasy | | Easy |
| Valid Perfect SquareEasy | | Easy |
| Search Insert PositionEasy | | Easy |
| Guess Number Higher or LowerEasy | | Easy |
| Find Smallest Letter Greater Than TargetEasy | | Easy |
| Find First and Last Position of Element in Sorted ArrayMedium | | Medium |
| Modified Binary Search | | |
| Search in Rotated Sorted ArrayMedium | | Medium |
| Search in Rotated Sorted Array IIMedium | | Medium |
| Find Minimum in Rotated Sorted ArrayMedium | | Medium |
| Find Peak ElementMedium | | Medium |
| Find in Mountain ArrayHard | | Hard |
| Binary Search on Answer | | |
| Koko Eating BananasMedium | | Medium |
| Capacity To Ship Packages Within D DaysMedium | | Medium |
| Minimum Number of Days to Make m BouquetsMedium | | Medium |
| Magnetic Force Between Two BallsMedium | | Medium |
| Split Array Largest SumHard | | Hard |
| Binary Search on Matrix | | |
| Search a 2D MatrixMedium | | Medium |
| Search a 2D Matrix IIMedium | | Medium |
| Binary Search Advanced | | |
| Random Pick with WeightMedium | | Medium |
| Find K Closest ElementsMedium | | Medium |
| HeatersMedium | | Medium |
| Median of Two Sorted ArraysHard | | Hard |
| Find K-th Smallest Pair DistanceHard | | Hard |
| 22 | | |
| Introduction | | |
| Level Order | | |
| Maximum Depth of Binary TreeEasy | | Easy |
| Average of Levels in Binary TreeEasy | | Easy |
| Binary Tree Level Order TraversalMedium | | Medium |
| Binary Tree Right Side ViewMedium | | Medium |
| Binary Tree Zigzag Level Order TraversalMedium | | Medium |
| Populating Next Right Pointers in Each Node IIMedium | | Medium |
| Maximum Width of Binary TreeMedium | | Medium |
| Binary Tree Vertical Order TraversalMedium | | Medium |
| Populating Next Right Pointers in Each NodeMedium | | Medium |
| Check Completeness of a Binary TreeMedium | | Medium |
| Pre Order | | |
| Binary Tree Preorder TraversalEasy | | Easy |
| Same TreeEasy | | Easy |
| Symmetric TreeEasy | | Easy |
| Binary Tree PathsEasy | | Easy |
| Convert Sorted Array to Binary Search TreeEasy | | Easy |
| Count Complete Tree NodesEasy | | Easy |
| Sum of Left LeavesEasy | | Easy |
| Subtree of Another TreeEasy | | Easy |
| Path Sum IIMedium | | Medium |
| Path Sum IIIMedium | | Medium |
| Longest Univalue PathMedium | | Medium |
| Maximum Difference Between Node and AncestorMedium | | Medium |
| Construct Binary Tree from Preorder and Inorder TraversalMedium | | Medium |
| Construct Binary Tree from Inorder and Postorder TraversalMedium | | Medium |
| Serialize and Deserialize Binary TreeHard | | Hard |
| In Order | | |
| Binary Tree Inorder TraversalEasy | | Easy |
| Minimum Distance Between BST NodesEasy | | Easy |
| Minimum Absolute Difference in BSTEasy | | Easy |
| Validate Binary Search TreeMedium | | Medium |
| Kth Smallest Element in a BSTMedium | | Medium |
| Binary Search Tree IteratorMedium | | Medium |
| Balance a Binary Search TreeMedium | | Medium |
| Post Order | | |
| Binary Tree Postorder TraversalEasy | | Easy |
| Invert Binary TreeEasy | | Easy |
| Diameter of Binary TreeEasy | | Easy |
| Balanced Binary TreeEasy | | Easy |
| Delete Nodes And Return ForestMedium | | Medium |
| Lowest Common Ancestor of a Binary TreeMedium | | Medium |
| Find Duplicate SubtreesMedium | | Medium |
| Flatten Binary Tree to Linked ListMedium | | Medium |
| Distribute Coins in Binary TreeMedium | | Medium |
| Count Good Nodes in Binary TreeMedium | | Medium |
| Sum Root to Leaf NumbersMedium | | Medium |
| Boundary of Binary TreeMedium | | Medium |
| Step-By-Step Directions From a Binary Tree Node to AnotherMedium | | Medium |
| Binary Tree Maximum Path SumHard | | Hard |
| 23 | | |
| Introduction | | |
| Basic BST Operations | | |
| Search in a Binary Search TreeEasy | | Easy |
| Closest Binary Search Tree ValueEasy | | Easy |
| Two Sum IV - Input is a BSTEasy | | Easy |
| Range Sum of BSTEasy | | Easy |
| BST Modification | | |
| Trim a Binary Search TreeMedium | | Medium |
| Insert into a Binary Search TreeMedium | | Medium |
| Delete Node in a BSTMedium | | Medium |
| Recover Binary Search TreeMedium | | Medium |
| BST Navigation | | |
| Inorder Successor in BSTMedium | | Medium |
| Inorder Successor in BST IIMedium | | Medium |
| Lowest Common Ancestor of a Binary Search TreeMedium | | Medium |
| BST Construction | | |
| Construct Binary Search Tree from Preorder TraversalMedium | | Medium |
| Convert Binary Search Tree to Sorted Doubly Linked ListMedium | | Medium |
| Largest BST SubtreeMedium | | Medium |
| Ordered Set Applications | | |
| My Calendar IMedium | | Medium |
| My Calendar IIMedium | | Medium |
| Stock Price FluctuationMedium | | Medium |
| 24 | | |
| Introduction | | |
| Trie Implementation | | |
| Implement Trie (Prefix Tree)Medium | | Medium |
| Prefix & Search | | |
| Design Add and Search Words Data StructureMedium | | Medium |
| Search Suggestions SystemMedium | | Medium |
| Longest Word in DictionaryMedium | | Medium |
| Trie String Operations | | |
| Replace WordsMedium | | Medium |
| Remove Sub-Folders from the FilesystemMedium | | Medium |
| Find the Length of the Longest Common PrefixMedium | | Medium |
| Words Within Two Edits of DictionaryMedium | | Medium |
| Trie + Bit Operations | | |
| Maximum XOR of Two Numbers in an ArrayMedium | | Medium |
| Hard Trie | | |
| Word Search IIHard | | Hard |
| Stream of CharactersHard | | Hard |
| Concatenated WordsHard | | Hard |
| Word SquaresHard | | Hard |
| Palindrome PairsHard | | Hard |
| 25 | | |
| Introduction | | |
| Last Stone WeightEasy | | Easy |
| Furthest Building You Can ReachMedium | | Medium |
| Single-Threaded CPUMedium | | Medium |
| Process Tasks Using ServersMedium | | Medium |
| Minimum Cost to Connect SticksMedium | | Medium |
| Longest Happy StringMedium | | Medium |
| Maximum Performance of a TeamHard | | Hard |
| Two Heaps | | |
| Find Median from Data StreamHard | | Hard |
| IPOHard | | Hard |
| Sliding Window MedianHard | | Hard |
| K-Way Merge | | |
| Find K Pairs with Smallest SumsMedium | | Medium |
| Kth Smallest Element in a Sorted MatrixMedium | | Medium |
| Merge k Sorted ListsHard | | Hard |
| Smallest Range Covering Elements from K ListsHard | | Hard |
| Top K Elements | | |
| Introduction | | |
| Kth Largest Element in a StreamEasy | | Easy |
| Top K Frequent ElementsMedium | | Medium |
| K Closest Points to OriginMedium | | Medium |
| 26 | | |
| Introduction to Intervals | | |
| Interval Basics | | |
| Summary RangesEasy | | Easy |
| Meeting RoomsEasy | | Easy |
| Merge & Insert | | |
| Merge IntervalsMedium | | Medium |
| Insert IntervalMedium | | Medium |
| Remove Covered IntervalsMedium | | Medium |
| Greedy Intervals | | |
| Non-overlapping IntervalsMedium | | Medium |
| Minimum Number of Arrows to Burst BalloonsMedium | | Medium |
| Maximum Number of Events That Can Be AttendedMedium | | Medium |
| Partition LabelsMedium | | Medium |
| Meeting Rooms | | |
| Meeting Rooms IIMedium | | Medium |
| Meeting SchedulerMedium | | Medium |
| Car PoolingMedium | | Medium |
| Interval List IntersectionsMedium | | Medium |
| Two Best Non-Overlapping EventsMedium | | Medium |
| Hard Intervals | | |
| Meeting Rooms IIIHard | | Hard |
| Employee Free TimeHard | | Hard |
| 27 | | |
| Stack & Queue Design | | |
| Implement Queue using StacksEasy | | Easy |
| Implement Stack using QueuesEasy | | Easy |
| Design Circular QueueMedium | | Medium |
| Design Circular DequeMedium | | Medium |
| Rate Limiting & Counters | | |
| Logger Rate LimiterEasy | | Easy |
| Design Hit CounterMedium | | Medium |
| Key-Value Stores | | |
| Time Based Key-Value StoreMedium | | Medium |
| Snapshot ArrayMedium | | Medium |
| Encode and Decode StringsMedium | | Medium |
| Randomized Design | | |
| Insert Delete GetRandom O(1)Medium | | Medium |
| History & Navigation | | |
| Design Browser HistoryMedium | | Medium |
| Cache Design | | |
| LRU CacheMedium | | Medium |
| LFU CacheHard | | Hard |
| Complex System Design | | |
| Design TwitterMedium | | Medium |
| Design a Food Rating SystemMedium | | Medium |
| Maximum Frequency StackHard | | Hard |
| Max StackHard | | Hard |
| All O`one Data StructureHard | | Hard |
| Range ModuleHard | | Hard |
| Design Search Autocomplete SystemHard | | Hard |
| Design In-Memory File SystemHard | | Hard |
| Design a Text EditorHard | | Hard |
| 28 | | |
| Introduction | | |
| Selection Greedy | | |
| Assign CookiesEasy | | Easy |
| Apple Redistribution into BoxesEasy | | Easy |
| Jump Problems | | |
| Jump Game IIMedium | | Medium |
| Jump GameMedium | | Medium |
| Jump Game VIIMedium | | Medium |
| Parentheses & String | | |
| Minimum Add to Make Parentheses ValidMedium | | Medium |
| Maximum Score From Removing SubstringsMedium | | Medium |
| Scheduling | | |
| Gas StationMedium | | Medium |
| Task SchedulerMedium | | Medium |
| Queue Reconstruction by HeightMedium | | Medium |
| Avoid Flood in The CityMedium | | Medium |
| Most Profit Assigning WorkMedium | | Medium |
| Array Greedy | | |
| Maximum SwapMedium | | Medium |
| Maximum Matrix SumMedium | | Medium |
| Hard Greedy | | |
| CandyHard | | Hard |
| Minimum Number of Refueling StopsHard | | Hard |
| Minimum Cost to Hire K WorkersHard | | Hard |
| Set Intersection Size At Least TwoHard | | Hard |
| 29 | | |
| Introduction | | |
| Depth-First Search | | |
| Breadth-First Search | | |
| Matrix Traversal | | |
| Multi-Source BFS | | |
| Cycle Detection in Undirected Graphs | | |
| Cycle Detection in Directed Graphs | | |
| Bipartite Graph Detection | | |
| DFS Problems | | |
| Flood FillEasy | | Easy |
| Number of IslandsMedium | | Medium |
| Number of Distinct IslandsMedium | | Medium |
| Time Needed to Inform All EmployeesMedium | | Medium |
| All Paths From Source to TargetMedium | | Medium |
| Clone GraphMedium | | Medium |
| Is Graph Bipartite?Medium | | Medium |
| All Nodes Distance K in Binary TreeMedium | | Medium |
| Employee ImportanceMedium | | Medium |
| Surrounded RegionsMedium | | Medium |
| Pacific Atlantic Water FlowMedium | | Medium |
| Word SearchMedium | | Medium |
| Number of EnclavesMedium | | Medium |
| Making A Large IslandHard | | Hard |
| Critical Connections in a NetworkHard | | Hard |
| Longest Path With Different Adjacent CharactersHard | | Hard |
| BFS Problems | | |
| Rotting OrangesMedium | | Medium |
| 01 MatrixMedium | | Medium |
| Open the LockMedium | | Medium |
| Snakes and LaddersMedium | | Medium |
| Minimum Genetic MutationMedium | | Medium |
| Walls and GatesMedium | | Medium |
| Minimum Knight MovesMedium | | Medium |
| Shortest Path in Binary MatrixMedium | | Medium |
| Path With Maximum Minimum ValueMedium | | Medium |
| Word LadderHard | | Hard |
| Bus RoutesHard | | Hard |
| Minimum Obstacle Removal to Reach CornerHard | | Hard |
| Shortest Path in a Grid with Obstacles EliminationHard | | Hard |
| Topological Sort | | |
| Introduction | | |
| Course Schedule IIMedium | | Medium |
| Find Eventual Safe StatesMedium | | Medium |
| Minimum Height TreesMedium | | Medium |
| Course Schedule IVMedium | | Medium |
| Parallel CoursesMedium | | Medium |
| Find All Possible Recipes from Given SuppliesMedium | | Medium |
| Alien DictionaryHard | | Hard |
| Sort Items by Groups Respecting DependenciesHard | | Hard |
| Union Find | | |
| Introduction | | |
| Number of ProvincesMedium | | Medium |
| Redundant ConnectionMedium | | Medium |
| Accounts MergeMedium | | Medium |
| Number of Connected Components in an Undirected GraphMedium | | Medium |
| Graph Valid TreeMedium | | Medium |
| Evaluate DivisionMedium | | Medium |
| Most Stones Removed with Same Row or ColumnMedium | | Medium |
| Number of Islands IIHard | | Hard |
| Minimize Malware SpreadHard | | Hard |
| Minimum Spanning Tree | | |
| Min Cost to Connect All PointsMedium | | Medium |
| Connecting Cities With Minimum CostMedium | | Medium |
| Optimize Water Distribution in a VillageHard | | Hard |
| Find Critical and Pseudo-Critical Edges in Minimum Spanning TreeHard | | Hard |
| Maximize Spanning Tree Stability with UpgradesHard | | Hard |
| Shortest Path | | |
| Introduction | | |
| Network Delay TimeMedium | | Medium |
| Cheapest Flights Within K StopsMedium | | Medium |
| Path with Maximum ProbabilityMedium | | Medium |
| Path With Minimum EffortMedium | | Medium |
| The Maze IIMedium | | Medium |
| Minimum Cost to Convert String IMedium | | Medium |
| Minimum Cost Path with Edge ReversalsMedium | | Medium |
| Find Minimum Time to Reach Last Room IMedium | | Medium |
| Swim in Rising WaterHard | | Hard |
| Minimum Cost to Make at Least One Valid Path in a GridHard | | Hard |
| Minimum Weighted Subgraph With the Required PathsHard | | Hard |
| Eulerian Circuit | | |
| Reconstruct ItineraryHard | | Hard |
| Cracking the SafeHard | | Hard |
| Valid Arrangement of PairsHard | | Hard |
| 30 | | |
| 1-D DP | | |
| Introduction | | |
| Fibonacci NumberEasy | | Easy |
| Climbing StairsEasy | | Easy |
| Min Cost Climbing StairsEasy | | Easy |
| House RobberMedium | | Medium |
| House Robber IIMedium | | Medium |
| Maximum Length of Pair ChainMedium | | Medium |
| Delete and EarnMedium | | Medium |
| Integer BreakMedium | | Medium |
| Greatest Sum Divisible by ThreeMedium | | Medium |
| Number of Ways to Paint N × 3 GridHard | | Hard |
| 0/1 Knapsack | | |
| Introduction | | |
| Partition Equal Subset SumMedium | | Medium |
| Target SumMedium | | Medium |
| Last Stone Weight IIMedium | | Medium |
| Ones and ZeroesMedium | | Medium |
| Profitable SchemesHard | | Hard |
| Unbounded Knapsack | | |
| Introduction | | |
| Coin ChangeMedium | | Medium |
| Coin Change IIMedium | | Medium |
| Perfect SquaresMedium | | Medium |
| Minimum Cost For TicketsMedium | | Medium |
| LIS | | |
| Longest Increasing SubsequenceMedium | | Medium |
| Number of Longest Increasing SubsequenceMedium | | Medium |
| Longest String ChainMedium | | Medium |
| Longest Arithmetic SubsequenceMedium | | Medium |
| Russian Doll EnvelopesHard | | Hard |
| 2D (Grid) DP | | |
| Introduction | | |
| Pascal's TriangleEasy | | Easy |
| Unique Paths IIMedium | | Medium |
| Minimum Path SumMedium | | Medium |
| TriangleMedium | | Medium |
| Count Square Submatrices with All OnesMedium | | Medium |
| Maximum Number of Points with CostMedium | | Medium |
| Unique PathsMedium | | Medium |
| Maximal SquareMedium | | Medium |
| Paint HouseMedium | | Medium |
| Minimum Falling Path SumMedium | | Medium |
| Burst BalloonsHard | | Hard |
| Maximum Profit in Job SchedulingHard | | Hard |
| Cherry PickupHard | | Hard |
| Longest Increasing Path in a MatrixHard | | Hard |
| Remove BoxesHard | | Hard |
| Maximal RectangleHard | | Hard |
| Dungeon GameHard | | Hard |
| Painting a Grid With Three Different ColorsHard | | Hard |
| Minimum Cost Path with TeleportationsHard | | Hard |
| Frog JumpHard | | Hard |
| Optimal Account BalancingHard | | Hard |
| Minimum Difficulty of a Job ScheduleHard | | Hard |
| Minimum Cost to Cut a StickHard | | Hard |
| String DP | | |
| Introduction | | |
| Longest Common SubsequenceMedium | | Medium |
| Edit DistanceMedium | | Medium |
| Longest Palindromic SubsequenceMedium | | Medium |
| Decode WaysMedium | | Medium |
| Word BreakMedium | | Medium |
| Interleaving StringMedium | | Medium |
| Minimum Deletions to Make String BalancedMedium | | Medium |
| Wildcard MatchingHard | | Hard |
| Distinct SubsequencesHard | | Hard |
| Palindrome Partitioning IIHard | | Hard |
| Word Break IIHard | | Hard |
| Regular Expression MatchingHard | | Hard |
| Strange PrinterHard | | Hard |
| Shortest Common SupersequenceHard | | Hard |
| Tree / Graph DP | | |
| Tree/Graph DP | | |
| House Robber IIIMedium | | Medium |
| Unique Binary Search Trees IIMedium | | Medium |
| Number of Ways to Arrive at DestinationMedium | | Medium |
| Binary Tree CamerasHard | | Hard |
| Sum of Distances in TreeHard | | Hard |
| Bitmask DP | | |
| Bitmask DP | | |
| Minimum Number of Work Sessions to Finish the TasksMedium | | Medium |
| Fair Distribution of CookiesMedium | | Medium |
| Campus Bikes IIMedium | | Medium |
| Partition to K Equal Sum SubsetsMedium | | Medium |
| Shortest Path Visiting All NodesHard | | Hard |
| Digit DP | | |
| Digit DP | | |
| Count Numbers with Unique DigitsMedium | | Medium |
| Number of Digit OneHard | | Hard |
| Numbers At Most N Given Digit SetHard | | Hard |
| Probability DP | | |
| Probability DP | | |
| Knight Probability in ChessboardMedium | | Medium |
| Soup ServingsMedium | | Medium |
| New 21 GameMedium | | Medium |
| State Machine DP | | |
| State Machine DP | | |
| Best Time to Buy and Sell Stock with CooldownMedium | | Medium |
| Best Time to Buy and Sell Stock with Transaction FeeMedium | | Medium |
| Best Time to Buy and Sell Stock IIIHard | | Hard |
| Best Time to Buy and Sell Stock IVHard | | Hard |
| 31 | | |
| Number Basics | | |
| Palindrome NumberEasy | | Easy |
| Plus OneEasy | | Easy |
| Roman to IntegerEasy | | Easy |
| Excel Sheet Column TitleEasy | | Easy |
| Greatest Common Divisor of StringsEasy | | Easy |
| Number Properties | | |
| Ugly NumberEasy | | Easy |
| Ugly Number IIMedium | | Medium |
| Count PrimesMedium | | Medium |
| Count Good NumbersMedium | | Medium |
| Math Operations | | |
| Reverse IntegerMedium | | Medium |
| Factorial Trailing ZeroesMedium | | Medium |
| Multiply StringsMedium | | Medium |
| Find the Duplicate NumberMedium | | Medium |
| Geometry | | |
| Valid SquareMedium | | Medium |
| Minimum Area Rectangle IIMedium | | Medium |
| Valid Triangle NumberMedium | | Medium |
| Minimum Area RectangleMedium | | Medium |
| Max Points on a LineHard | | Hard |
| 32 | | |
| String Matching | | |
| Repeated Substring PatternEasy | | Easy |
| Repeated String MatchMedium | | Medium |
| Number of Distinct Substrings in a StringMedium | | Medium |
| Shortest PalindromeHard | | Hard |
| Longest Happy PrefixHard | | Hard |
| Longest Duplicate SubstringHard | | Hard |
| Advanced Data Structures | | |
| Range Sum Query - MutableMedium | | Medium |
| Range Sum Query 2D - MutableMedium | | Medium |
| Count of Smaller Numbers After SelfHard | | Hard |
| Falling SquaresHard | | Hard |
| Block Placement QueriesHard | | Hard |
| Longest Balanced Subarray IIHard | | Hard |
| Number of Pairs Satisfying InequalityHard | | Hard |
| Line Sweep | | |
| Minimum Interval to Include Each QueryHard | | Hard |
| The Skyline ProblemHard | | Hard |
| Rectangle Area IIHard | | Hard |
| Perfect RectangleHard | | Hard |