Solve in order, finish what you start
A track is a named path through the problem set. Every problem on it is run against the judge, so your progress is what you actually solved, not what you ticked off. Problems you have already solved anywhere on Revquix count straight away.
- Sections in a set order
- Optional problems never hold you back
- Progress counts only judged solves
- 28
- 5
Featured tracks
Revquix 80
Revquix 80 is a curated list of 80 DSA problems that cover every core topic, from arrays to dynamic programming, in five languages. It is a focused first pass through DSA: the problems that teach the ideas behind most coding interview questions, in a sensible order, with nothing extra. Every problem is judged against hidden test cases in Python, C++, Java, JavaScript and TypeScript, and each section runs from easy to hard. What you will practise: Arrays, Strings and Hashing: 11 problems such as Pair That Hits the Target, No-Repeat Stretch and Quarter Turn. Two Pointers and Sliding Window: 7 problems such as Sorted Pair Finder, Three-Flag Sort and Smallest Covering Window. Sorting, Binary Search and Intervals: 8 problems such as Shelf Finder, First and Last Seen and Ship It in Time. Linked Lists: 6 problems such as Turn the Chain Around, Chain Loop Check and Recently Used Cache. Stacks and Queues: 6 problems such as Bracket Balance, Postfix Evaluator and Biggest Bar Rectangle. Trees and Binary Search Trees: 11 problems such as Tree Depth, Shared Ancestor and Richest Path. Heaps and Greedy: 6 problems such as Most Talked About, K Nearest to Home and Live Median. Recursion and Backtracking: 5 problems such as Every Subset, Reusable Coins to Target and Queens Boards. Graphs: 8 problems such as Count the Islands, Course Plan Feasible and Word Ladder Steps. Dynamic Programming: 9 problems such as Stair Climber, Fewest Coins and Edit Steps. Tries, Bit Manipulation and Design: 3 problems such as The Lone Sock, Lit Bits and Prefix Tree. Work through one section at a time and finish a section before you move on. If a problem feels too hard, try an easier one from the same section first, then come back to it. Every problem comes with worked examples and clear constraints.
Explore trackDSA Interview Revision
Revise the 40 most important DSA problems before an interview, one core pattern at a time, from arrays to dynamic programming, in five languages. This is the bare minimum track for the days before a coding interview. It keeps one or two of the clearest problems for each pattern, so you can refresh the idea fast and move on. Every problem is judged against hidden test cases in Python, C++, Java, JavaScript and TypeScript. What you will revise: Arrays, Strings and Hashing: 8 problems such as Pair That Hits the Target, No-Repeat Stretch and Flip K Zeros. Search, Sort and Intervals: 3 problems such as Merge the Bookings, Search the Turned Shelf and Snack Speed. Linked Lists, Stacks and Queues: 6 problems such as Bracket Balance, Where the Loop Begins and Biggest Bar Rectangle. Trees, Heaps and Greedy: 8 problems such as Longest Branch Span, Floor by Floor and Can You Reach the End. Backtracking and Graphs: 7 problems such as Every Subset, Count the Islands and Signal Spread Time. Dynamic Programming, Tries and Bits: 8 problems such as The Lone Sock, Quiet Burglar and Prefix Tree. Solve each problem again without looking at a solution. If you get stuck on one, that pattern needs more practice, so open the matching topic track or Revquix 150 and work through more problems on it.
Explore trackRevquix 150
Revquix 150 is a curated list of 150 DSA problems that cover every core topic, from arrays to dynamic programming, in five languages. It is a stronger second pass: the 80 essential problems plus 70 more that deepen every topic, so each pattern is practised more than once. Every problem is judged against hidden test cases in Python, C++, Java, JavaScript and TypeScript, and each section runs from easy to hard. Revquix 150 includes every problem in Revquix 80. What you will practise: Arrays, Strings and Hashing: 19 problems such as Pair That Hits the Target, Stretches Summing to K and Median Is K. Two Pointers and Sliding Window: 13 problems such as Best Window Total, Three-Flag Sort and Kth Smallest Gap. Sorting, Binary Search and Intervals: 15 problems such as Clash-Free Calendar, First and Last Seen and Leftmost Lit Column. Linked Lists: 11 problems such as Turn the Chain Around, Cut Nth From End and Least Used Cache. Stacks and Queues: 11 problems such as Bracket Balance, Wait for Warmth and Formula Atom Counter. Trees and Binary Search Trees: 20 problems such as Tree Depth, Shared Ancestor and Height After Cutting. Heaps and Greedy: 11 problems such as Even Splits, Keep Twins Apart and Hire K for Less. Recursion and Backtracking: 9 problems such as Recursive Reverse, Reusable Coins to Target and Fewest Bracket Fixes. Graphs: 15 problems such as Island Coastline, Course Plan Feasible and Weight-Limited Paths. Dynamic Programming: 20 problems such as Triangle of Sums, Fewest Coins and Changing Letters Path. Tries, Bit Manipulation and Design: 6 problems such as The Lone Sock, Bit Distance and Dotted Word Finder. Work through one section at a time and finish a section before you move on. If a problem feels too hard, try an easier one from the same section first, then come back to it. Every problem comes with worked examples and clear constraints.
Explore track
All tracks
Maths and Number Systems
Practise 64 maths coding problems on digits, primes, GCD and LCM, Fibonacci numbers and base conversion in Python, C++, Java, JavaScript and TypeScript. The Maths and Number Systems track takes you from the basics of working with the digits of a number to doing arithmetic in any base from 2 to 36. These are the number theory and number system questions that come up again and again in coding interviews, college exams and online contests, and each one is judged against hidden test cases in five languages. What you will practise: Digits of a number: count, rotate, reverse and inspect digits, find the largest digit, and use digital roots and palindromic numbers, with problems such as Digit Span, Peak Digit and Digit Carousel. Primes, divisors and GCD: check whether a number is prime, list its divisors, find the GCD and LCM, and use a sieve to work with prime numbers, with problems such as Prime Verdict, Divisor Ladder and Twin Prime Count. Sequences and special numbers: Fibonacci numbers, Pythagorean triples, the bulb toggling puzzle, ugly numbers, and powers of three and four. Reading and writing numbers in a base: convert between decimal, binary, octal, hexadecimal and any base up to 36, and count the carries when you add. Arithmetic on digit strings: add, subtract and multiply very large numbers column by column, the way you do on paper, in any base. Other number systems: negabinary, balanced ternary, factorial base, mixed radix, Roman numerals and spreadsheet column labels. This track suits beginners who know basic loops and conditions, and anyone revising number theory before interviews. Start with the digit problems, then move on to primes and number bases. Every problem comes with worked examples and clear constraints, so you can work out the idea yourself before you look for a solution.
View trackRevquix 80
Revquix 80 is a curated list of 80 DSA problems that cover every core topic, from arrays to dynamic programming, in five languages. It is a focused first pass through DSA: the problems that teach the ideas behind most coding interview questions, in a sensible order, with nothing extra. Every problem is judged against hidden test cases in Python, C++, Java, JavaScript and TypeScript, and each section runs from easy to hard. What you will practise: Arrays, Strings and Hashing: 11 problems such as Pair That Hits the Target, No-Repeat Stretch and Quarter Turn. Two Pointers and Sliding Window: 7 problems such as Sorted Pair Finder, Three-Flag Sort and Smallest Covering Window. Sorting, Binary Search and Intervals: 8 problems such as Shelf Finder, First and Last Seen and Ship It in Time. Linked Lists: 6 problems such as Turn the Chain Around, Chain Loop Check and Recently Used Cache. Stacks and Queues: 6 problems such as Bracket Balance, Postfix Evaluator and Biggest Bar Rectangle. Trees and Binary Search Trees: 11 problems such as Tree Depth, Shared Ancestor and Richest Path. Heaps and Greedy: 6 problems such as Most Talked About, K Nearest to Home and Live Median. Recursion and Backtracking: 5 problems such as Every Subset, Reusable Coins to Target and Queens Boards. Graphs: 8 problems such as Count the Islands, Course Plan Feasible and Word Ladder Steps. Dynamic Programming: 9 problems such as Stair Climber, Fewest Coins and Edit Steps. Tries, Bit Manipulation and Design: 3 problems such as The Lone Sock, Lit Bits and Prefix Tree. Work through one section at a time and finish a section before you move on. If a problem feels too hard, try an easier one from the same section first, then come back to it. Every problem comes with worked examples and clear constraints.
View trackRevquix 150
Revquix 150 is a curated list of 150 DSA problems that cover every core topic, from arrays to dynamic programming, in five languages. It is a stronger second pass: the 80 essential problems plus 70 more that deepen every topic, so each pattern is practised more than once. Every problem is judged against hidden test cases in Python, C++, Java, JavaScript and TypeScript, and each section runs from easy to hard. Revquix 150 includes every problem in Revquix 80. What you will practise: Arrays, Strings and Hashing: 19 problems such as Pair That Hits the Target, Stretches Summing to K and Median Is K. Two Pointers and Sliding Window: 13 problems such as Best Window Total, Three-Flag Sort and Kth Smallest Gap. Sorting, Binary Search and Intervals: 15 problems such as Clash-Free Calendar, First and Last Seen and Leftmost Lit Column. Linked Lists: 11 problems such as Turn the Chain Around, Cut Nth From End and Least Used Cache. Stacks and Queues: 11 problems such as Bracket Balance, Wait for Warmth and Formula Atom Counter. Trees and Binary Search Trees: 20 problems such as Tree Depth, Shared Ancestor and Height After Cutting. Heaps and Greedy: 11 problems such as Even Splits, Keep Twins Apart and Hire K for Less. Recursion and Backtracking: 9 problems such as Recursive Reverse, Reusable Coins to Target and Fewest Bracket Fixes. Graphs: 15 problems such as Island Coastline, Course Plan Feasible and Weight-Limited Paths. Dynamic Programming: 20 problems such as Triangle of Sums, Fewest Coins and Changing Letters Path. Tries, Bit Manipulation and Design: 6 problems such as The Lone Sock, Bit Distance and Dotted Word Finder. Work through one section at a time and finish a section before you move on. If a problem feels too hard, try an easier one from the same section first, then come back to it. Every problem comes with worked examples and clear constraints.
View trackRevquix 300
Revquix 300 is a curated list of 300 DSA problems that cover every core topic, from arrays to dynamic programming, in five languages. It is complete interview preparation: the 150 problems plus 150 more, covering every core topic in depth, from easy warm-ups to hard challenges. Every problem is judged against hidden test cases in Python, C++, Java, JavaScript and TypeScript, and each section runs from easy to hard. Revquix 300 includes every problem in Revquix 150, and Revquix 150 includes every problem in Revquix 80. What you will practise: Arrays, Strings and Hashing: 40 problems such as How Many Times, Over a Third and XOR Path Meet. Two Pointers and Sliding Window: 24 problems such as Sorted Squares, Two Squares Make It and Palindrome by Swaps. Sorting, Binary Search and Intervals: 32 problems such as Top Two Product, First and Last Seen and Weighted Equaliser. Linked Lists: 20 problems such as Turn the Chain Around, Ends Inward and Express Lanes List. Stacks and Queues: 22 problems such as Bracket Balance, Rock Collisions and Layered Increments. Trees and Binary Search Trees: 38 problems such as Tree Depth, Floor Maximums and Merge Small Search Trees. Heaps and Greedy: 20 problems such as Flowerbed Planner, Cooldown Scheduler and Kth Cheapest Row Picks. Recursion and Backtracking: 18 problems such as Power of Three Climb, Reusable Coins to Target and Tug of War. Graphs: 32 problems such as Paint Bucket, Course Plan Feasible and Second-Best Network. Dynamic Programming: 44 problems such as Triangle of Sums, Two Equal Piles and Twin Billboards. Tries, Bit Manipulation and Design: 10 problems such as The Lone Sock, Prefix Tree and Find All Words. Work through one section at a time and finish a section before you move on. If a problem feels too hard, try an easier one from the same section first, then come back to it. Every problem comes with worked examples and clear constraints.
View trackDSA Interview Revision
Revise the 40 most important DSA problems before an interview, one core pattern at a time, from arrays to dynamic programming, in five languages. This is the bare minimum track for the days before a coding interview. It keeps one or two of the clearest problems for each pattern, so you can refresh the idea fast and move on. Every problem is judged against hidden test cases in Python, C++, Java, JavaScript and TypeScript. What you will revise: Arrays, Strings and Hashing: 8 problems such as Pair That Hits the Target, No-Repeat Stretch and Flip K Zeros. Search, Sort and Intervals: 3 problems such as Merge the Bookings, Search the Turned Shelf and Snack Speed. Linked Lists, Stacks and Queues: 6 problems such as Bracket Balance, Where the Loop Begins and Biggest Bar Rectangle. Trees, Heaps and Greedy: 8 problems such as Longest Branch Span, Floor by Floor and Can You Reach the End. Backtracking and Graphs: 7 problems such as Every Subset, Count the Islands and Signal Spread Time. Dynamic Programming, Tries and Bits: 8 problems such as The Lone Sock, Quiet Burglar and Prefix Tree. Solve each problem again without looking at a solution. If you get stuck on one, that pattern needs more practice, so open the matching topic track or Revquix 150 and work through more problems on it.
View trackArray Problems
Practise 40 array problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers traversal, in-place updates, reversing and rotating, counting, running totals, two-pointer scans and greedy choices. The problems run from easy to hard, so each idea builds on the one before. Every problem here can be solved with arrays and simple loops alone, with no extra data structures to learn first. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 14 easy problems such as Runner-Up Score, Line-up Mismatch and Change at the Stall. Core Problems: 21 medium problems such as Everyone But Me, Next Arrangement and Ice Cream Budget. Hard Problems: 5 hard problems such as Candy Line, Earliest Full Bloom and Budget Stretch With Refunds. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackString Problems
Practise 35 string problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers character counting, two-pointer scans, parsing, building and comparing strings, and simple stacks and hash maps on text. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 12 easy problems such as Same Letters, New Order, Burrow Speak and Folder Depth. Core Problems: 16 medium problems such as Loudest Letters First, Biggest Joined Number and Next Clock Time. Hard Problems: 7 hard problems such as Is It a Number, Formula Atom Counter and Palindrome by Swaps. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackHashing Problems
Practise 30 hashing problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers frequency counting, lookups, grouping, prefix sums with hash maps, and designing keys for a hash map or set. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 10 easy problems such as Common Guests, Neighbourly Subsequence and Majority or Nothing. Core Problems: 14 medium problems such as No-Repeat Stretch, Repaint to Repeat and Next Clock Time. Hard Problems: 6 hard problems such as Smallest Absent Positive, Formula Atom Counter and Imbalance Total. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackTwo Pointers Problems
Practise 30 two pointers problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers converging pointers on sorted data, fast and slow pointers, in-place partitioning, merging and pair or triple searches. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 10 easy problems such as Push Zeros to the Back, One Delete Away and Pair Sum in Search Tree. Core Problems: 14 medium problems such as Label Partitions, Common Free Slot and Smallest Rotation. Hard Problems: 6 hard problems such as Bounded Window Count, Best Good Window and Round Cake Slices. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackSliding Window Problems
Practise 30 sliding window problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers fixed and variable windows, counting windows that meet a condition, and windows with a hash map or a monotonic deque. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 10 easy problems such as Best Window Total, Circular Code Sums and Ring Window Best. Core Problems: 14 medium problems such as Exactly K Odd, All Three Present and Distinct Pieces of Length K. Hard Problems: 6 hard problems such as Smallest Covering Window, Shortest Stretch Reaching K and Best Equation Value. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackPrefix Sum Problems
Practise 25 prefix sum problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers running totals, range queries, difference arrays, subarray sums with hash maps, 2-D prefix sums and XOR prefixes. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 9 easy problems such as Cumulative Steps, Exactly K Coverage and Rain Gauge Log. Core Problems: 11 medium problems such as Divisible Stretches, Tiring Stretch and Product of the Tail. Hard Problems: 5 hard problems such as Target Rectangles, Capped Rectangle Sum and Weighted Equaliser. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackSorting Problems
Practise 30 sorting problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers comparators, custom orderings, counting, radix and bucket sort, merge sort, quickselect and sorting-based greedy solutions. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 10 easy problems such as Sorted Squares, Clash-Free Calendar and Grades in Linear Time. Core Problems: 14 medium problems such as House Alphabet, Next Interval Over and Busiest Start Time. Hard Problems: 6 hard problems such as Range Sums in Bounds, Startup Capital and Suffix Order. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackBinary Search Problems
Practise 35 binary search problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers searching sorted and rotated data, finding boundaries, searching on the answer, and searching in two dimensions. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 12 easy problems such as Sorted Pair Finder, First Broken Build and Guess the Ticket. Core Problems: 16 medium problems such as Two Squares Make It, Kth in the Sorted Grid and Rank Board. Hard Problems: 7 hard problems such as Lowest With Repeats, Longest Repeated Piece and Below K in Ranges. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackInterval Problems
Practise 20 interval problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers merging, inserting and covering intervals, scheduling, line sweeps and counting overlaps. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 6 easy problems such as Clash-Free Calendar, Free Gaps in the Day and Earliest Clash. Core Problems: 10 medium problems such as Busiest Moment, Darts for Balloons and Busiest Start Time. Hard Problems: 4 hard problems such as Stream to Ranges, City Outline and Flowers in Bloom. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackLinked List Problems
Practise 35 linked list problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers reversing, merging, reordering and splitting lists, cycle detection, fast and slow pointers, doubly linked lists and cache design. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 12 easy problems such as Turn the Chain Around, Chain Reads Both Ways and Reverse a Two-Way Chain. Core Problems: 16 medium problems such as Chain Addition, Pop the Middle and Flatten the Folder Chain. Hard Problems: 7 hard problems such as Reverse in Batches, Cursor Text Editor and Referral Order Copy. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackStack and Queue Problems
Practise 35 stack and queue problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers bracket matching, expression evaluation, monotonic stacks and queues, queues built from stacks, and sliding window maximums. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 12 easy problems such as Bracket Balance, Folder Depth and Streak Watcher. Core Problems: 16 medium problems such as Tidy the Path, Possible Stack Order and Zigzag Feed. Hard Problems: 7 hard problems such as Window Peaks, Truth Expression and Odd-Even Leaps. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackTree Problems
Practise 40 binary tree problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers traversals, depth and height, paths, lowest common ancestors, building trees and serialising them, with recursion and queues. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 14 easy problems such as Tree Depth, Tree Inside Tree and Family Tree Post-Order. Core Problems: 18 medium problems such as Floor by Floor, Prune Zero Branches and Prune to a Forest. Hard Problems: 8 hard problems such as Richest Path, Height After Cutting and Path Maximum With Updates. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackBinary Search Tree Problems
Practise 25 binary search tree problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers searching, inserting and deleting keys, validating a tree, in-order tricks, balancing and iterators. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 9 easy problems such as Find in the Search Tree, Range Key Total and Search Trail. Core Problems: 11 medium problems such as Grow the Search Tree, Ordered Iterator and Every Tree Shape. Hard Problems: 5 hard problems such as Richest Search Subtree, Insertion Depth Ledger and Cheapest Lookup Tree. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackHeap Problems
Practise 30 heap problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers top-k selection, merging sorted lists, running medians, scheduling with priority queues and greedy choices with a heap. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 7 easy problems such as Kth Loudest Live, Heap-Shaped Check and Two Cups a Second. Core Problems: 17 medium problems such as Most Talked About, Halve the Piles and Median in Linear Time. Hard Problems: 6 hard problems such as City Outline, Rising Tide Swim and Best Equation Value. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackGreedy Problems
Practise 25 greedy problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers local choices that are provably optimal, exchange arguments, scheduling and covering problems. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 9 easy problems such as Best Buy-Sell Day, Pair Up for Max and Colour Removal Duel. Core Problems: 11 medium problems such as Widest Water Tank, Bricks and Ladders and Smallest From Pattern. Hard Problems: 5 hard problems such as Startup Capital, Dream Team Output and Marble Bag Spread. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackRecursion and Backtracking Problems
Practise 35 recursion and backtracking problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers subsets, permutations, combinations, partitions, board puzzles, pruning and recursive thinking. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 12 easy problems such as Memo Fibonacci, Every Leaf Route and Nobody Gets Their Own. Core Problems: 16 medium problems such as Fast Power, Word on the Board and Plus-Plus Flip Game. Hard Problems: 7 hard problems such as Reverse in Batches, Visit Every Square and Sliding Tiles. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackGraph Problems
Practise 45 graph problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers breadth-first and depth-first search on grids and graphs, components, topological order, shortest paths, union-find and spanning trees. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 7 easy problems such as Paint Bucket, Village Judge and Level Totals of a Nest. Core Problems: 29 medium problems such as Fewest Swaps to Order, Hop to Zero and Currency Loop. Hard Problems: 9 hard problems such as Visit Every Square, Shared Rail Lines and K Shortest Routes. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackDynamic Programming Problems
Practise 50 dynamic programming problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers one-dimensional and grid recurrences, knapsack, subsequences, string alignment, interval and tree dynamic programming and bitmask states. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 8 easy problems such as Best Stretch Sum, Memo Fibonacci and Divisor Duel. Core Problems: 32 medium problems such as Mirror Piece Count, Plus or Minus and Fewest Work Sessions. Hard Problems: 10 hard problems such as Biggest Ones Rectangle, Distinct Mirror Subsequences and Odd-Even Leaps. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackTrie and String Algorithm Problems
Practise 30 trie and string algorithm problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers prefix trees, KMP and Z-function matching, rolling hashes, suffix structures and word search. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 7 easy problems such as Where It Hides, Handmade Hash Set and Key Collision Count. Core Problems: 17 medium problems such as Repeated Gene Snippets, Compact Word Encoding and String Hash Set. Hard Problems: 6 hard problems such as Prefix Score Totals, Border Prefix and Suffix Order. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackSegment and Fenwick Tree Problems
Practise 25 segment tree and Fenwick tree problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers point updates and range queries, Fenwick trees, segment trees, ordered sets and offline queries. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Core Problems: 20 medium problems such as Diary Bookings, Live Range Minimum and Hotel Room Upgrades. Hard Problems: 5 hard problems such as Out-of-Order Pairs, Ordered in Both and Kth Smallest in Ranges. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackBit Manipulation Problems
Practise 30 bit manipulation problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers XOR tricks, counting set bits, masks, bit shifts, subsets as bitmasks and bitwise dynamic programming. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 10 easy problems such as The Lone Sock, Flip and Invert and Pile Duel. Core Problems: 14 medium problems such as Matching XOR Triplets, Symbol in Row K and Bit-Disjoint Stretch. Hard Problems: 6 hard problems such as Sticker Spelling, Hats for Everyone and Slot AND Sum. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackMatrix Problems
Practise 30 matrix problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers grid traversal, rotating and spiralling, in-place updates, 2-D prefix sums and searching sorted matrices. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 10 easy problems such as Richest Account, Reshape the Tray and Heat Map Smoother. Core Problems: 14 medium problems such as Region Totals, Sort the Diagonals and Leftmost Lit Column. Hard Problems: 6 hard problems such as Target Rectangles, Islands Appearing and Grid Totals With Updates. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View trackDesign Problems
Practise 25 design problems from basics to advanced in Python, C++, Java, JavaScript and TypeScript. This track covers stateful classes such as caches, counters, calendars, iterators, ledgers and data structures built from scratch. The problems run from easy to hard, so each idea builds on the one before. Every problem is judged against hidden test cases in five languages. What you will practise: Basics: 9 easy problems such as Quick Range Totals, Kth Loudest Live and Streak Watcher. Core Problems: 11 medium problems such as Diary Bookings, Number Lockers and Live Rank Counter. Hard Problems: 5 hard problems such as Kth Ancestor Lookup, Tracked Ranges and Path Maximum With Updates. Start with the basics, move on to the core problems, and try the hard ones when the pattern feels natural. Every problem comes with worked examples and clear constraints. For a full path across all of DSA, see Revquix 80, Revquix 150 and Revquix 300.
View track