A FIELD GUIDE · VERIFIED NOV 2026

— the respawn guide, by Big Poppa Code

One path · 66 sessions · 342 side quests

410pages
66sessions
26exercises
9languages
23patterns
SCROLL

00 / THE PATH

66 sessions. Your pace.

Each session points at its side quests. Three sessions a week suggests 22 weeks. Choose your own days.

Latest: 12.5 Coronation Day
Act I · FoundationAct II · The cheat skillAct III · The kingdom

01 / SIDE QUESTS

Ten tracks. 342 side quests.

The library the path points into.

28 pages

01Algorithms

Big O, sorting, searching, recursion, and the interview patterns.

Big O

02 / WHICH PATTERN WHEN

Read the tell, name the pattern.

31 tells. The strip filters as you type.

31 ROWS
sorted array + targetbinary searchtwo pointersbinary-search.js
contiguous subarray / substringsliding windowprefix sumsliding-window.js
subarray sum equals k / count subarraysprefix sum + hash maphash-maps.js
top k / kth largest / kth smallestheap (size k)quickselectheaps.js
k-way merge / "k sorted lists"min-heap of headsheaps.js
running mediantwo heapsheaps.js
next greater / next smaller / spanmonotonic stackstacks-queues.js
sliding window max/minmonotonic dequesliding-window.js
shortest path, unweightedBFSgraphs.js
shortest path, weighted non-negativeDijkstragraphs.js
shortest path, negative edgesBellman-Fordgraphs.js
all combinations / permutations / subsetsbacktrackingbacktracking.js
count ways / min cost / max value, overlapping subproblemsdynamic programmingdynamic-programming.js
optimal substructure + greedy-choice worksgreedy (prove exchange argument)intervals.js
connected components / "union" / "same group"union-findDFSgraphs.js
dependencies / prerequisites / orderingtopological sortgraphs.js
prefix matching / autocomplete / many wordstrietries.js
intervals / meetings / overlapssort by start, then sweepintervals.js
max non-overlapping intervalssort by end, greedyintervals.js
linked list middle / cyclefast & slow pointerslinked-lists.js
in-place array of 1..ncyclic sortindex as hasharrays.js
duplicate in array of 1..n, O(1) spaceFloyd cycle on indicesarrays.js
majority elementBoyer-Moore votingarrays.js
matching brackets / nested structurestackstacks-queues.js
grid traversalBFSDFS with directions arraymatrices.js
multi-source spread (rotting, distance to nearest)multi-source BFSmatrices.js
minimize the maximum / "min capacity such that..."binary search on the answerbinary-search.js
XOR / parity / "appears once"bit manipulationbit-manipulation.js
n <= 20 and subsetsbitmask enumerationbit-manipulation.js
LRU / LFUMap insertion orderDLL + maphash-maps.js
string equality under rotation/patternKMPhashingstrings.js
Full table

03 / NAIVE VS OPTIMAL

Same tests. Two shapes.

Write a function called same, which accepts two arrays. The function should return true if every value in the array has its corresponding value squared in the second array. The frequency of values must be the same.

Naive · sameO(n²)
JS
function same(arr1, arr2) {  if (arr1.length !== arr2.length) {    return false;  }   for (let i = 0; i < arr1.length; i++) {    let correctIndex = arr2.indexOf(arr1[i] ** 2);    if (correctIndex === -1) {      return false;    }    arr2.splice(correctIndex, 1);  }  return true;}
Optimal · goodSameO(n)
JS
function goodSame(arr1, arr2) {  if (arr1.length !== arr2.length) {    return false;  }  const fc1 = arr1.reduce((acc, item, idx) => {    if (acc[item]) {      acc[item]++;    } else {      acc[item] = 1;    }    return acc;  }, {});  const fc2 = arr2.reduce((acc, item, idx) => {    if (acc[item]) {      acc[item]++;    } else {      acc[item] = 1;    }    return acc;  }, {});   for (const key in fc1) {    if (fc1[key] !== fc2[parseInt(key, 10) ** 2]) {      return false;    }  }  return true;}

Why it is faster: `indexOf` inside the loop rescans the second array every time, so the work is n × n. Counting each array once into a frequency object makes every lookup O(1), so the work is two passes.

All four pairs

You do not need to know everything. You need to know what you are talking about.

— The Ultimate Guide to Knowing What the Heck You're Talking About · Mindset

Read the guide

Learn for free. Work with me when you’re ready.
Optional $20 thank-you · Source reviews: $197 per started 1,000 lines · Portfolio reviews: $497

Support & work with me →