Dynamic Programming Grandmaster
General 1D
- Longest String Chain
- Wiggle Subsequence
- 4 Keys Keyboard
- Longest Valid Parentheses
- Restore The Array
- Handshakes That Don't Cross
- Decode Ways II
General Multidimensional
- Maximum Score from Performing Multiplication Operations
- Cherry Pickup II
- Paint House III
- Frog Jump
- Minimum Difficulty of a Job Schedule
- Strange Printer
- Minimum Cost to Cut a Stick
- Count All Possible Routes
- Number of Ways to Form a Target String Given a Dictionary
- Number of Increasing Paths in a Grid
- Number of Music Playlists
- Number of Ways of Cutting a Pizza
- Scramble String
Probability
- Toss Strange Coins
- Knight Probability in Chessboard
- Soup Servings
- New 21 Game
Knapsack
- Maximum Number of Achievable Transfer Requests
- Best Team With No Conflicts
- Profitable Schemes
- Tallest Billboard
On Trees
- All Possible Full Binary Trees
- Maximum Product of Splitted Binary Tree
- Binary Tree Cameras
- Number of Ways to Reorder Array to Get Same BST
Bitmasking
- Partition to K Equal Sum Subsets
- Optimal Account Balancing
- Shortest Path Visiting All Nodes
- Smallest Sufficient Team
- Number of Ways to Wear Different Hats to Each Other
- Maximize Score After N Operations
Game Theory
- Stone Game
- Predict the Winner
- Stone Game IV
- Stone Game III
- Stone Game II
With Binary Search
- Maximum Number of Events That Can Be Attended II
- Maximum Profit in Job Scheduling
- Super Egg Drop
- Make Array Strictly Increasing
Binary Search
On Solution Space
● Koko Eating Bananas
● Capacity To Ship Packages Within D Days
● Find the Smallest Divisor Given a Threshold
● Minimum Speed to Arrive on Time
● Split Array Largest Sum
● Divide Chocolate
● Path With Minimum Effort
● Maximum Value at a Given Index in a Bounded Array
With Dynamic Programming
● Maximum Profit in Job Scheduling
● Super Egg Drop
Graph Theory
Dijkstra's
● Cheapest Flights Within K Stops
● Path with Maximum Probability
● The Maze II
● The Maze III
Minimum Spanning Tree
● Connecting Cities With Minimum Cost
● Min Cost to Connect All Points
● Optimize Water Distribution in a Village
● Find Critical and Pseudo-Critical Edges in Minimum Spanning Tree
Premium Algo 100
Array / String
● Maximum Distance in Arrays
● Wiggle Sort
● Confusing Number
● Perform String Shifts
● One Edit Distance
● Reverse Words in a String II
● Shortest Way to Form String
Sliding Window
● Longest Substring with At Most Two Distinct Characters
● Longest Substring with At Most K Distinct Characters
● Max Consecutive Ones II
● Find K-Length Substrings With No Repeated Characters
Hashing
● Find Anagram Mappings
● Palindrome Permutation
● Sentence Similarity
● Single-Row Keyboard
● Group Shifted Strings
● Largest Unique Number
● Counting Elements
● Find Smallest Common Element in All Rows
Matrix
● Valid Word Square
● Lonely Pixel I
● Sparse Matrix Multiplication
● Candy Crush
Intervals
● Missing Ranges
● Meeting Rooms
● Meeting Rooms II
● Add Bold Tag in String
● Remove Interval
Stack
● Ternary Expression Parser
● Find Permutation
● Basic Calculator III
Queue
● Moving Average from Data Stream
● First Unique Number
Linked Lists
● Delete N Nodes After M Nodes of a Linked List
● Insert into a Sorted Circular Linked List
● Plus One Linked List
● Print Immutable Linked List in Reverse
Binary Tree - General
● Binary Tree Longest Consecutive Sequence
● Binary Tree Longest Consecutive Sequence II
● Count Univalue Subtrees
● Maximum Average Subtree
● Boundary of Binary Tree
● Find Leaves of Binary Tree
● Binary Tree Vertical Order Traversal
Binary Search Tree
● Closest Binary Search Tree Value
● Closest Binary Search Tree Value II
● Verify Preorder Sequence in Binary Search Tree
● Two Sum BSTs
● Largest BST Subtree
N-ary Tree
● Clone N-ary Tree
● Find Root of N-Ary Tree
● Diameter of N-Ary Tree
Graph - General
● Find the Celebrity
● Kill Process
● Number of Connected Components in an Undirected Graph
● All Paths from Source Lead to Destination
● Web Crawler
● Number of Islands II
● Number of Distinct Islands
● Parallel Courses
Graph - BFS
● The Maze
● The Maze II
● The Maze III
● Minimum Knight Moves
● Walls and Gates
● Shortest Distance from All Buildings
● Alien Dictionary
Trie
● Design In-Memory File System
● Design Search Autocomplete System
Heap
● High Five
● Minimum Cost to Connect Sticks
● Campus Bikes
● Rearrange String k Distance Apart
Binary Search
● Missing Number In Arithmetic Progression
● Missing Element in Sorted Array
● Find the Index of the Large Integer
● Check If a Number Is Majority Element in a Sorted Array
● Divide Chocolate
● Maximum Average Subarray II
Design
● Design Tic-Tac-Toe
● Design Snake Game
● Design Compressed String Iterator
● Encode and Decode Strings
● Zigzag Iterator
● Max Stack
● Design A Leaderboard
● Serialize and Deserialize N-ary Tree
● Encode N-ary Tree to Binary Tree
Backtracking
● Strobogrammatic Number II
● Factor Combinations
● Brace Expansion
Dynamic Programming
● Paint Fence
● Paint House
● Paint House II
● 4 Keys Keyboard
● Handshakes That Don't Cross
Math
● Armstrong Number
● Count Substrings with Only One Distinct Letter
● Guess the Majority in a Hidden Array
● Maximum Number of Ones