| 1 | | |
| Course Roadmap | |
| Join the Community | |
| 2 | | |
| Introduction | |
| Best, Worst, and Average Complexity | |
| Amortized Analysis | |
| Recurrence Relations | |
| Master Theorem | |
| 3 | | |
| Introduction | |
| Move ZeroesEasy | Easy |
| Majority ElementEasy | Easy |
| Remove Duplicates from Sorted ArrayEasy | Easy |
| Best Time to Buy and Sell StockEasy | Easy |
| Rotate ArrayMedium | Medium |
| Product of Array Except SelfMedium | Medium |
| Best Time to Buy and Sell Stock IIMedium | Medium |
| Number of Zero-Filled SubarraysMedium | Medium |
| Increasing Triplet SubsequenceMedium | Medium |
| First Missing PositiveHard | Hard |
| 4 | | |
| Is SubsequenceEasy | Easy |
| Valid PalindromeEasy | Easy |
| Longest Common PrefixEasy | Easy |
| Zigzag ConversionMedium | Medium |
| Reverse Words in a StringMedium | Medium |
| Guess the WordHard | Hard |
| 5 | | |
| Introduction | |
| Single NumberEasy | Easy |
| Number of 1 BitsEasy | Easy |
| Counting BitsEasy | Easy |
| Reverse BitsEasy | Easy |
| Bitwise AND of Numbers RangeMedium | Medium |
| Single Number IIIMedium | Medium |
| Sum of Two IntegersMedium | Medium |
| 6 | | |
| Introduction | |
| Design HashMapEasy | Easy |
| Maximum Number of BalloonsEasy | Easy |
| Number of Good PairsEasy | Easy |
| Isomorphic StringsEasy | Easy |
| Ransom NoteEasy | Easy |
| Contains Duplicate IIEasy | Easy |
| Group AnagramsMedium | Medium |
| Encode and Decode TinyURLMedium | Medium |
| Reorganize StringMedium | Medium |
| Longest Consecutive SequenceMedium | Medium |
| Split Array into Consecutive SubsequencesMedium | Medium |
| Number of Matching SubsequencesMedium | Medium |
| Number of Good Ways to Split a StringMedium | Medium |
| 7 | | |
| Introduction | |
| Merge Sorted ArrayEasy | Easy |
| Two Sum II - Input Array Is SortedMedium | Medium |
| Container With Most WaterMedium | Medium |
| 3SumMedium | Medium |
| Trapping Rain WaterHard | Hard |
| 8 | | |
| Introduction | |
| Range Sum Query - ImmutableEasy | Easy |
| Subarray Sum Equals KMedium | Medium |
| Subarray Sums Divisible by KMedium | Medium |
| Continuous Subarray SumMedium | Medium |
| Contiguous ArrayMedium | Medium |
| 9 | | |
| 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 |
| 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 |
| Minimum Window SubstringHard | Hard |
| 10 | | |
| Introduction | |
| Maximum SubarrayMedium | Medium |
| Maximum Sum Circular SubarrayMedium | Medium |
| Maximum Product SubarrayMedium | Medium |
| Best Sightseeing PairMedium | Medium |
| 11 | | |
| Spiral MatrixMedium | Medium |
| Rotate ImageMedium | Medium |
| Set Matrix ZeroesMedium | Medium |
| Valid SudokuMedium | Medium |
| Game of LifeMedium | Medium |
| 12 | | |
| Introduction | |
| Intersection of Two Linked ListsEasy | 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 |
| 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 |
| 13 | | |
| Introduction | |
| Valid ParenthesesEasy | Easy |
| Remove All Adjacent Duplicates In StringEasy | Easy |
| Min StackMedium | Medium |
| Remove Duplicate LettersMedium | Medium |
| Removing Stars From a StringMedium | Medium |
| Evaluate Reverse Polish NotationMedium | Medium |
| Basic Calculator IIMedium | Medium |
| Longest Valid ParenthesesHard | Hard |
| Monotonic Stack | |
| Introduction | |
| Next Greater Element IEasy | Easy |
| Daily TemperaturesMedium | Medium |
| Online Stock SpanMedium | Medium |
| 132 PatternMedium | Medium |
| Number of Visible People in a QueueHard | Hard |
| Largest Rectangle in HistogramHard | Hard |
| 14 | | |
| Introduction | |
| Number of Recent CallsEasy | Easy |
| Time Needed to Buy TicketsEasy | Easy |
| Reveal Cards In Increasing OrderMedium | Medium |
| Monotonic Queue | |
| Jump Game VIMedium | Medium |
| Longest Continuous Subarray With Absolute Diff Less Than or Equal to LimitMedium | Medium |
| Sliding Window MaximumHard | Hard |
| Max Value of EquationHard | Hard |
| 15 | | |
| Bucket Sort | |
| Sort Characters By FrequencyMedium | Medium |
| Top K Frequent WordsMedium | Medium |
| Maximum GapMedium | Medium |
| Merge Sort | |
| Sort ListMedium | Medium |
| Reverse PairsHard | Hard |
| Quick Sort / QuickSelect | |
| Sort ColorsMedium | Medium |
| Kth Largest Element in an ArrayMedium | Medium |
| 16 | | |
| Introduction to Backtracking | |
| Merge Two Sorted ListsEasy | Easy |
| Pow(x, n)Medium | Medium |
| Decode StringMedium | Medium |
| Generate ParenthesesMedium | Medium |
| PermutationsMedium | Medium |
| SubsetsMedium | Medium |
| Combination SumMedium | Medium |
| Combination Sum IIMedium | Medium |
| Letter Combinations of a Phone NumberMedium | Medium |
| Palindrome PartitioningMedium | Medium |
| N-QueensHard | Hard |
| 17 | | |
| Convert Sorted List to Binary Search TreeMedium | Medium |
| Construct Quad TreeMedium | Medium |
| Maximum Binary TreeMedium | Medium |
| 18 | | |
| Introduction | |
| Search Insert PositionEasy | Easy |
| Find First and Last Position of Element in Sorted ArrayMedium | Medium |
| Search in Rotated Sorted ArrayMedium | Medium |
| Find Peak ElementMedium | Medium |
| Random Pick with WeightMedium | Medium |
| Koko Eating BananasMedium | Medium |
| Find Minimum in Rotated Sorted ArrayMedium | Medium |
| Search a 2D MatrixMedium | Medium |
| Find in Mountain ArrayHard | Hard |
| Median of Two Sorted ArraysHard | Hard |
| 19 | | |
| Introduction | |
| Level Order | |
| 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 |
| 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 |
| Path Sum IIIMedium | 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 |
| Post Order | |
| Binary Tree Postorder TraversalEasy | Easy |
| Invert Binary TreeEasy | Easy |
| Diameter of 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 |
| Binary Tree Maximum Path SumHard | Hard |
| 20 | | |
| Introduction | |
| Trim a Binary Search TreeMedium | Medium |
| My Calendar IMedium | Medium |
| My Calendar IIMedium | Medium |
| Stock Price FluctuationMedium | Medium |
| 21 | | |
| Introduction | |
| Implement Trie (Prefix Tree)Medium | Medium |
| Design Add and Search Words Data StructureMedium | Medium |
| Search Suggestions SystemMedium | Medium |
| Longest Word in DictionaryMedium | Medium |
| Maximum XOR of Two Numbers in an ArrayMedium | Medium |
| Word Search IIHard | Hard |
| 22 | | |
| Introduction | |
| Furthest Building You Can ReachMedium | Medium |
| Single-Threaded CPUMedium | Medium |
| Process Tasks Using ServersMedium | Medium |
| 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 |
| 23 | | |
| Introduction to Intervals | |
| Merge IntervalsMedium | Medium |
| Insert IntervalMedium | Medium |
| Minimum Number of Arrows to Burst BalloonsMedium | Medium |
| Maximum Number of Events That Can Be AttendedMedium | Medium |
| Non-overlapping IntervalsMedium | Medium |
| 24 | | |
| Design Browser HistoryMedium | Medium |
| Time Based Key-Value StoreMedium | Medium |
| Snapshot ArrayMedium | Medium |
| Design TwitterMedium | Medium |
| LRU CacheMedium | Medium |
| Insert Delete GetRandom O(1)Medium | Medium |
| Design a Food Rating SystemMedium | Medium |
| Maximum Frequency StackHard | Hard |
| 25 | | |
| Introduction | |
| Jump Game IIMedium | Medium |
| Minimum Add to Make Parentheses ValidMedium | Medium |
| Gas StationMedium | Medium |
| Task SchedulerMedium | Medium |
| Minimum Cost to Hire K WorkersHard | Hard |
| CandyHard | Hard |
| Minimum Number of Refueling StopsHard | Hard |
| 26 | | |
| Introduction | |
| Matrix Traversal | |
| Depth-First Search | |
| Introduction | |
| Number of 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 |
| Making A Large IslandHard | Hard |
| Breadth-First Search | |
| Introduction | |
| Rotting OrangesMedium | Medium |
| 01 MatrixMedium | Medium |
| Open the LockMedium | Medium |
| Shortest Path in a Grid with Obstacles EliminationHard | Hard |
| Bus RoutesHard | Hard |
| Word LadderHard | Hard |
| Topological Sort | |
| Introduction | |
| Course Schedule IIMedium | Medium |
| Find Eventual Safe StatesMedium | Medium |
| Minimum Height TreesMedium | Medium |
| Sort Items by Groups Respecting DependenciesHard | Hard |
| Union Find | |
| Introduction | |
| Number of ProvincesMedium | Medium |
| Redundant ConnectionMedium | Medium |
| Accounts MergeMedium | Medium |
| Minimize Malware SpreadHard | Hard |
| Union Find | |
| Min Cost to Connect All PointsMedium | Medium |
| Shortest Path | |
| Introduction | |
| Network Delay TimeMedium | Medium |
| Cheapest Flights Within K StopsMedium | Medium |
| Path with Maximum ProbabilityMedium | Medium |
| Path With Minimum EffortMedium | Medium |
| Swim in Rising WaterHard | Hard |
| Eulerian Circuit | |
| Reconstruct ItineraryHard | Hard |
| Cracking the SafeHard | Hard |
| 27 | | |
| 1-D DP | |
| Climbing StairsEasy | Easy |
| Min Cost Climbing StairsEasy | Easy |
| House RobberMedium | Medium |
| House Robber IIMedium | Medium |
| Knapsack | |
| Partition Equal Subset SumMedium | Medium |
| Target SumMedium | Medium |
| Last Stone Weight IIMedium | Medium |
| Unbounded Knapsack | |
| Coin ChangeMedium | Medium |
| Coin Change IIMedium | Medium |
| Perfect SquaresMedium | Medium |
| LIS | |
| Longest Increasing SubsequenceMedium | Medium |
| Number of Longest Increasing SubsequenceMedium | Medium |
| Russian Doll EnvelopesHard | Hard |
| 2D (Grid) DP | |
| Unique Paths IIMedium | Medium |
| Minimum Path SumMedium | Medium |
| TriangleMedium | Medium |
| Count Square Submatrices with All OnesMedium | Medium |
| Maximum Number of Points with CostMedium | Medium |
| Burst BalloonsHard | Hard |
| Maximum Profit in Job SchedulingHard | Hard |
| Cherry PickupHard | Hard |
| Longest Increasing Path in a MatrixHard | Hard |
| String DP | |
| Longest Common SubsequenceMedium | Medium |
| Edit DistanceMedium | Medium |
| Longest Palindromic SubsequenceMedium | Medium |
| Decode WaysMedium | Medium |
| Word BreakMedium | Medium |
| Interleaving StringMedium | Medium |
| Wildcard MatchingHard | Hard |
| Distinct SubsequencesHard | Hard |
| Palindrome Partitioning IIHard | 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 |
| 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 IIIHard | Hard |
| 28 | | |
| Palindrome NumberEasy | Easy |
| Reverse IntegerMedium | Medium |
| Factorial Trailing ZeroesMedium | Medium |
| Valid SquareMedium | Medium |
| Minimum Area Rectangle IIMedium | Medium |
| Max Points on a LineHard | Hard |
| 29 | | |
| String Matching | |
| Repeated String MatchMedium | Medium |
| Shortest PalindromeHard | Hard |
| Segment Tree | |
| Range Sum Query - MutableMedium | Medium |
| Count of Smaller Numbers After SelfHard | Hard |
| Line Sweep | |
| Minimum Interval to Include Each QueryHard | Hard |
| The Skyline ProblemHard | Hard |
| Line SweepSuffix Array | |
| Longest Duplicate SubstringHard | Hard |