Collection of all HackerRank tutorial topics organized in a logical learning sequence.
- List of topic URLs (As of Feb 29, 2016)
- Some links may become temporarily unavailable or contain minor typos
- Topics organized from beginner β advanced within each category
- I have moved to:
| Symbol | Difficulty |
|---|---|
| π’ | Beginner |
| π‘ | Intermediate |
| π΄ | Advanced |
| # | Topic | Link |
|---|---|---|
| 1 | If-Else Statements | if-else-statements |
| 2 | Pairs (Tuples) | pair |
| # | Topic | Link |
|---|---|---|
| 3 | Average | average |
| 4 | Division & Modulo | div-mod |
| 5 | Ceiling & Floor Functions | ceil-floor |
| 6 | Finding Maximum & Minimum | finding-max-min |
| 7 | Maxima & Minima | maxima-minima |
| 8 | Square Root | square-root |
| 9 | Integer to Array Conversion | integer-to-array |
| 10 | Binary Number System | binary |
| # | Topic | Link |
|---|---|---|
| 11 | Bitwise OR | bitwise-or |
| 12 | Bitwise XOR | bitwise-xor |
| # | Topic | Link |
|---|---|---|
| 13 | Arrays | arrays |
| 14 | Pointers & Linked Lists (Intro) | pointers-and-linked-lists |
| 15 | Linked Lists | linked-lists |
| 16 | Stacks | stacks |
| 17 | Queues | queues |
| 18 | Dictionary (Hash Map) | dictionary |
| 19 | Set | set |
| 20 | Multi-Set | multi-set |
| # | Topic | Link |
|---|---|---|
| 21 | String Basics | string-basics |
| 22 | Alphabets | alphabets |
| 23 | Strings (Essay) | strings-essay |
| 24 | Strings (Comprehensive) | strings-long |
| 25 | Palindrome | palindrome |
| 26 | Anagram | anagram |
| 27 | Next Permutation | next-permutation |
| # | Topic | Link |
|---|---|---|
| 28 | Prefix Sum | prefix-sum |
| 29 | Two Pointer Technique | two-pointer-technique |
| 30 | Precomputation | precomputation |
| 31 | Caching | caching |
| 32 | Counting Techniques | counting |
| # | Topic | Link |
|---|---|---|
| 33 | Sorting (Introduction) | sorting |
| 34 | Sorting (Essay) | sorting-essay |
| 35 | Sorting (Comprehensive) | sorting-long |
| 36 | Insertion Sort | insertion-sort |
| 37 | Counting Sort | counting-sort |
| 38 | Merge Sort | merge-sort |
| 39 | Quicksort | quicksort |
| # | Topic | Link |
|---|---|---|
| 40 | Search (Introduction) | search |
| 41 | Search (Essay) | search-essay |
| 42 | Binary Search | binary-search |
| 43 | Ternary Search | ternary-search |
| # | Topic | Link |
|---|---|---|
| 44 | Divisors | divisors |
| 45 | Greatest Common Divisor (GCD) | gcd |
| 46 | Sieve of Eratosthenes | sieve-of-eratosthenes |
| 47 | Sieve of Eratosthenes (Linear Time) | sieve-of-eratosthenes-linear-time |
| 48 | Euler's Totient Function | euler-function |
| 49 | Fibonacci Numbers | fibonacci-numbers |
| 50 | Binet's Formula | binets-formula |
| 51 | Closed-Form Expressions | closed-form |
| 52 | Fast Exponentiation | fast-exponentiation |
| 53 | Matrix Exponentiation | matrix-exponentiation |
| 54 | Diophantine Equations (ax + by = c) | diophantine-equations-with-two-unknowns-ax-by-c |
| 55 | Gaussian Elimination | gaussian-elimination |
| # | Topic | Link |
|---|---|---|
| 56 | Basic Combinatorics | basic-combinatorics |
| 57 | Expectation Values | expectation-values |
| 58 | Burnside's Lemma | burnsides-lemma |
| # | Topic | Link |
|---|---|---|
| 59 | Manhattan Distance | manhattan-distance |
| 60 | 2-Line Intersection | 2-line-intersection |
| 61 | 3D Lines | 3d-lines |
| 62 | 3D Planes | 3d-planes |
| 63 | Convex Hull | convex-hull |
| # | Topic | Link |
|---|---|---|
| 64 | Binary Trees & Binary Search Trees | binary-trees-and-binary-search-trees |
| 65 | Tree Traversals | tree-traversals |
| 66 | Heaps | heaps |
| 67 | Priority Queue | priority-queue |
| 68 | Disjoint Set (Union-Find) | disjoint-set |
| 69 | Lowest Common Ancestor (LCA) | lowest-common-ancestor |
| 70 | Diameter in Trees | diameter-in-trees |
| # | Topic | Link |
|---|---|---|
| 71 | Depth-First Search (DFS) | depth-first-search |
| 72 | Breadth-First Search (BFS) | breadth-first-search |
| 73 | Topological Sorting | topological-sorting |
| # | Topic | Link |
|---|---|---|
| 74 | Shortest Paths in Graphs (Intro) | shortest-paths-in-graphs |
| 75 | Shortest Path in Graphs | shortest-path-in-graphs |
| 76 | Dijkstra's Algorithm | dijkstras-algorithm |
| 77 | Bellman-Ford Algorithm | bellman-ford-algorithm |
| 78 | Floyd-Warshall Algorithm | floyd-warshall-algorithm |
| 79 | Bipartite Matching | bipartite-matching |
| # | Topic | Link |
|---|---|---|
| 80 | Greedy Technique | greedy-technique |
| # | Topic | Link |
|---|---|---|
| 81 | Dynamic Programming Basics | dynamic-programming-basics |
| 82 | Dynamic Programming | dynamic-programming |
| 83 | Longest Common Subsequence (LCS) | longest-common-subsequence |
| 84 | Digit DP | digit-dp |
| # | Topic | Link |
|---|---|---|
| 85 | Trie (Prefix Tree) | trie |
| 86 | Segment Tree | segment-tree |
| 87 | Lazy Propagation | lazy-propagation |
| 88 | Binary Indexed Tree (Fenwick Tree) | binary-indexed-tree |
| 89 | Sparse Tables | sparse-tables |
| 90 | Persistent Data Structures | persistent-data-structures |
| # | Topic | Link |
|---|---|---|
| 91 | Suffix Array | suffix-array |
| 92 | LCP Array (Longest Common Prefix) | lcp-array |
| 93 | Z-Function (Z-Algorithm) | z-function |
| 94 | Manacher's Algorithm | manachers-algorithm |
| # | Topic | Link |
|---|---|---|
| 95 | Mo's Algorithm | mos-algorithm |
| # | Topic | Link |
|---|---|---|
| 96 | Game Theory & Grundy Numbers | game-theory-and-grundy-numbers |
| # | Topic | Link |
|---|---|---|
| 97 | PrΓΌfer's Code & Cayley's Formula | prufers-code-and-cayleys-formula |
| 98 | Dilworth's Theorem | dilworths-theorem |
| 99 | TurΓ‘n's Theorem | turans-theorem |
Total Topics: 99