This list has 75 coding problems in 22 short groups. It starts with easy array problems and ends with dynamic programming. It has the same problems as the LeetCode 75 study plan.
Use this list when you have two to four weeks. Do two or three problems each day, and do each group in order.
75 problems · 22 groups · 22 easy, 53 medium, 0 hard
Your progress stays in this browser. Mark a problem as done when you can solve it without help.
These problems warm you up with loops, counters and string building. Most solutions need only one or two passes.
Two indexes move through the data from different positions. This pattern often replaces a nested loop.
A window is a range of consecutive items. Move its two ends to keep a condition true, and update the answer as the window moves.
A prefix sum stores the total of all items before each index. It gives the sum of any range in constant time.
A hash map gives fast lookups by key. Use it to count items and to compare two groups of values.
A stack gives back the last item that you added. Use it to undo steps and to handle nested structures.
A queue gives back items in the order that you added them. Use it to simulate rounds and to keep recent events.
A linked list keeps each value in a node that points to the next node. Most problems need careful pointer changes or a fast and a slow pointer.
Depth-first search goes down one branch before it starts the next branch. Recursion is the usual way to write it.
Breadth-first search visits a tree one level at a time. A queue holds the nodes of the next level.
In a binary search tree, smaller values are on the left and larger values are on the right. Use this order to skip half of the tree.
A graph is a set of nodes and the edges between them. Depth-first search finds all the nodes that you can reach from a start node.
Breadth-first search visits nodes in order of distance from the start. Use it to find the shortest path when all edges have the same cost.
A heap always gives you the smallest or the largest item quickly. Use it to pick the best item many times.
Binary search removes half of the search range at each step. It works on sorted data and on answers that change from false to true one time.
Backtracking builds a solution one choice at a time. When a choice cannot work, the search goes back and tries the next choice.
Dynamic programming stores the answers to smaller problems and builds on them. In this group, one index describes each smaller problem.
In this group, two values describe each smaller problem, such as two positions in two strings. A table usually holds the answers.
Bit operations work on the binary form of a number. XOR, shifts and masks solve these problems with very little memory.
A trie stores words one character at a time. Words with the same prefix share the same path of nodes.
An interval has a start and an end. Sort the intervals first, and then count or remove the overlaps.
A monotonic stack keeps its values in increasing or decreasing order. It finds the next larger or smaller value for each item.
© 2026 SysRound. SysRound is an AI practice tool. The AI interviewer and the AI feedback can be wrong. Use it for your own practice, not to hire people.