| 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 | |
| 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 | | |
| 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 | | |
| 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 | |
| Matrix Traversal | |
| Depth-First Search | |
| Introduction | |
| 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 |
| Breadth-First Search | |
| Introduction | |
| 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 | |
| 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 | |
| Partition Equal Subset SumMedium | Medium |
| Target SumMedium | Medium |
| Last Stone Weight IIMedium | Medium |
| Ones and ZeroesMedium | Medium |
| Profitable SchemesHard | Hard |
| Unbounded Knapsack | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| Count Numbers with Unique DigitsMedium | Medium |
| Number of Digit OneHard | Hard |
| Numbers At Most N Given Digit SetHard | Hard |
| Probability DP | |
| Knight Probability in ChessboardMedium | Medium |
| Soup ServingsMedium | Medium |
| New 21 GameMedium | Medium |
| 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 |
| Fenwick Tree / Segment Tree | |
| 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 |