DSA Problems
Master Data Structures & Algorithms through curated tracks and 20+ proven problem-solving patterns. Each section builds intuition, not rote memorization.
Curated Master Tracks
Hand-picked specialized paths: from interview essentials to bit-level tricks, computational geometry, and game-solving strategies.
Blind 75
The classic Sean Prashad Blind 75, the gold standard for interview prep. Covers arrays, strings, trees, graphs, DP, and more.
Bit Manipulation
XOR tricks, popcount, masking, subsets, and advanced bitwise logic: 36 problems across 7 progressive sections.
Computational Geometry
Points, lines, triangles, circles, polygons, convex hull, and CP-level geometry: 62 problems across 8 sections.
Game Theory
Combinatorial game theory, impartial games, minimax, alpha-beta pruning, Nash equilibrium: 109 curated problems.
Pattern-Based Learning
Grouped by algorithmic pattern. Solve by recognizing reusable templates, not by reinventing every time.
Sliding Window
Process contiguous subarrays/substrings efficiently by maintaining a dynamic window that expands and contracts.
Two Pointers
Use two pointers to traverse data from both ends or at different speeds, solving pair-based problems in O(n).
Fast & Slow Pointers
Detect cycles, find middle elements, and solve linked-list problems using two pointers moving at different speeds.
Merge Intervals
Handle overlapping intervals by sorting and merging — essential for calendar, scheduling, and range problems.
Cyclic Sort
Place each element at its correct index in O(n). Perfect for finding missing or duplicate numbers in [1,n] ranges.
In-place Reversal of Linked List
Reverse linked lists in-place using pointer manipulation — a foundational pattern for list manipulation.
Tree BFS
Traverse trees level-by-level using a queue. Essential for shortest-path, level-order, and zigzag problems.
Tree DFS
Explore tree depth-first using recursion/stack — solve path sum, diameter, validation and serialization problems.
Two Heaps
Use a min-heap and max-heap together to track medians, sliding window extremes, and dynamic ordering.
Subsets
Generate all permutations, combinations, and subsets using backtracking, BFS, or bitwise enumeration.
Modified Binary Search
Adapt binary search to rotated arrays, unknown-size arrays, and search-space minimization problems.
Top K Elements
Find the K largest, smallest, or most frequent elements using heaps, quick-select, or bucket sort.
K-way Merge
Merge multiple sorted sequences efficiently using a heap. Solves merge-k-sorted and related problems.
Topological Sort
Order directed acyclic graph nodes so every edge goes from earlier to later — key for dependency resolution.
Bitwise XOR / Bit Manipulation
Solve problems using XOR properties, bit counting, masking, and shifts — O(1) space solutions.
0/1 Knapsack (DP)
Make optimal choices with limited capacity. Foundational DP pattern for subset sum, coin change, and resource allocation.
Greedy
Make locally optimal choices that lead to globally optimal solutions — for scheduling, intervals, and optimization.
Union Find / DSU
Track connected components dynamically. Essential for graph connectivity, Kruskal's, and island-counting problems.
Prefix Sum
Preprocess cumulative sums for O(1) range queries. Foundational for subarray sum and 2D grid problems.
Monotonic Stack
Maintain a stack with increasing/decreasing order to find next greater/smaller elements in O(n).