Library
All 638 problems
Filter by topic, difficulty, or what you have left to do.
638 problems
- Time & Space ComplexityLearn the Basics · Big-O · how cost grows with inputanimatedEasy
- Recursion — the BasicsLearn the Basics · Base case + a smaller subproblemanimatedEasy
- Hashing — the BasicsLearn the Basics · O(1) average lookups, counts & setsanimatedEasy
- Loops & Number PatternsLearn the Basics · Nested loops build rows and columnsanimatedEasy
- Cpp BasicsLearn the Basics · Headers, main(), input and outputEasy
- If ElseIfLearn the Basics · Branching on a conditionanimatedEasy
- Switch CaseLearn the Basics · One value, many branchesanimatedEasy
- What are arrays, strings?Learn the Basics · Contiguous memory, 0-based indexinganimatedEasy
- For loopsLearn the Basics · Repeat a known number of timesanimatedEasy
- While loopsLearn the Basics · Repeat until a condition breaksanimatedEasy
- Functions (Pass by Reference and Value)Learn the Basics · Copies versus aliasesanimatedEasy
- Theory with examplesLearn the Basics · How to approach any problemEasy
- Easy and MediumLearn the Basics · Mixed warm-up setEasy
- Pattern 1Learn the Basics · Solid n x n squareanimatedEasy
- Pattern 2Learn the Basics · Left-aligned right triangleanimatedEasy
- Pattern 3Learn the Basics · Number triangle 1..i per rowanimatedEasy
- Pattern 4Learn the Basics · Row i repeats the number ianimatedEasy
- Pattern 5Learn the Basics · Inverted star triangleanimatedEasy
- Pattern 6Learn the Basics · Inverted number triangleanimatedEasy
- Pattern 7Learn the Basics · Centred star pyramidanimatedEasy
- Pattern 8Learn the Basics · Inverted centred pyramidanimatedEasy
- Pattern 9Learn the Basics · Star diamondanimatedEasy
- Pattern 10Learn the Basics · Star hill that grows then shrinksanimatedEasy
- Pattern 11Learn the Basics · Alternating 1/0 triangleanimatedEasy
- Pattern 12Learn the Basics · Number crown with a gapanimatedEasy
- Pattern 13Learn the Basics · Continuously increasing numbersanimatedEasy
- Pattern 14Learn the Basics · Alphabet triangle A, AB, ABCanimatedEasy
- Pattern 15Learn the Basics · Shrinking alphabet triangleanimatedEasy
- Pattern 16Learn the Basics · Row i repeats the i-th letteranimatedEasy
- Pattern 17Learn the Basics · Alphabet hill A, ABA, ABCBAanimatedEasy
- Pattern 18Learn the Basics · Triangle of trailing lettersanimatedEasy
- Pattern 19Learn the Basics · Star butterflyanimatedEasy
- Pattern 20Learn the Basics · Star butterfly, opening outwardanimatedMedium
- Pattern 21Learn the Basics · Hollow square outlineanimatedMedium
- Pattern 22Learn the Basics · Concentric number squareanimatedMedium
- STLLearn the Basics · C++ containers and algorithmsanimatedEasy
- Java CollectionsLearn the Basics · Java's equivalent toolboxanimatedEasy
- Count all Digits of a NumberLearn the Basics · Divide by 10 until nothing is leftanimatedEasy
- Reverse a numberLearn the Basics · Pop digits off the back, push onto a new numberanimatedEasy
- Palindrome NumberLearn the Basics · Reverse it and compareEasy
- GCD of Two NumbersLearn the Basics · Euclid: replace the larger with the remainderEasy
- Check if the Number is ArmstrongLearn the Basics · Sum of digits raised to the digit countEasy
- Print all DivisorsLearn the Basics · Only walk up to the square rootEasy
- Check for Prime NumberLearn the Basics · Trial division up to the square rootEasy
- OverviewSorting Techniques · Why sorting matters · stability · in-placeanimatedEasy
- Bubble SortSorting Techniques · Swap adjacent out-of-order pairsanimatedEasy
- Selection SortSorting Techniques · Pick the smallest, place it in frontanimatedEasy
- Insertion SortSorting Techniques · Insert each key into a sorted prefixanimatedEasy
- Merge SortSorting Techniques · Divide, sort halves, mergeanimatedMedium
- Quick SortSorting Techniques · Partition around a pivotanimatedMedium
- Insertion SortingSorting Techniques · Grow a sorted prefix, one card at a timeanimatedEasy
- Merge SortingSorting Techniques · Split in half, sort each, zip togetheranimatedMedium
- Recursive Bubble SortSorting Techniques · One pass floats the max, then recurseanimatedEasy
- Recursive Insertion SortSorting Techniques · Sort the first n-1, then insert the lastanimatedEasy
- Quick SortingSorting Techniques · Partition around a pivot, recurse on both sidesanimatedEasy
- Contains DuplicateArrays & Hashing · A set remembers everything you've seenanimatedEasy
- Two SumArrays & Hashing · Unsorted input · remember complements in a mapanimatedEasy
- Valid AnagramArrays & Hashing · Same letters, same countsanimatedEasy
- Group AnagramsArrays & Hashing · Bucket words by their sorted signatureanimatedMedium
- Top K Frequent ElementsArrays & Hashing · Bucket by frequency, read from the topanimatedMedium