AlgoMaster Logo

Course Roadmap

Last Updated: January 17, 2026

Roadmap

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