Problem sheet
A2Z DSA Sheet
Every problem from basics to dynamic programming, in the order worth learning them.
- Problems
- 428
- Topics
- 21
- Easy
- 123
- Medium
- 178
- Hard
- 127
Your progress
– / 428 solved
- Easy
- – / 123
- Medium
- – / 178
- Hard
- – / 127
From single-pass scans to Kadane's algorithm, the k-Sum family, matrix problems, intervals and inversion counting.
Bounds on sorted arrays, rotated arrays, searching over the answer space (Koko, Aggressive Cows, Book Allocation) and 2D matrices.
Everyday string problems: parentheses, anagrams, isomorphism, Roman numerals, atoi and substring counting.
Singly and doubly linked lists end to end: insert, delete, reverse, detect cycles, sort and deep-copy.
Generate subsequences and combinations, then backtrack through N-Queens, Sudoku, mazes and graph colouring.
Stack and queue implementations, expression conversion, monotonic stacks, and LRU and LFU cache design.
Priority-queue problems: k-th order statistics, merging sorted data, scheduling and running medians.
Recursive, iterative and Morris traversals, tree views, diameter and width, LCA, construction and serialization.
BST operations and properties: search, insert, delete, floor and ceil, validation, successors and recovery.
Traversals, cycle detection, topological ordering, shortest paths, MSTs, union-find and strongly connected components.
A complete DP progression: 1D, grids, subsets, strings, stocks, LIS and partition DP.
Problems open on LeetCode or GeeksforGeeks in a new tab. A problem that appears in both sheets is ticked in both.