Categories
Choose a data structure or algorithm family to practice.
Arrays & Strings
Master array manipulation and string algorithms
Data Structures
Linked Lists
Learn linked list operations and patterns
Trees & Graphs
Explore tree traversals and graph algorithms
Dynamic Programming
Solve optimization problems with DP
Sorting & Searching
Efficient sorting and searching techniques
Stack & Queue
LIFO and FIFO data structure problems
Hash Tables
Efficient lookups and counting problems
Recursion & Backtracking
Recursive solutions and backtracking patterns
Greedy Algorithms
Locally optimal choices for global solutions
Mathematical Problems
Number theory and mathematical algorithms
Bit Manipulation
Binary operations and bit tricks
Heap & Priority Queue
Heap data structure and priority queues
Trie
Prefix trees and string matching
Union Find
Disjoint set data structure
Segment Tree
Range queries and updates
Binary Indexed Tree
Fenwick tree for prefix operations
Matrix
2D array problems and transformations
Intervals
Interval scheduling and merging
Design & OOP
System design and object-oriented problems
Simulation
Process simulation problems
Number Theory
Prime numbers, GCD, modular arithmetic
Geometry
Computational geometry problems
Combinatorics
Permutations, combinations, counting
Game Theory
Minimax and optimal play strategies