Medium data structure and algorithm practice puzzle.
A program's calls arrive as a list: a positive number is a call that pushes a stack frame of that many bytes, and 0 is a return from the most recent call. Given the list and the stack's size limit in bytes, return the index of the first call that overflows the stack, or -1 if it never does. A return always frees the newest frame, because the call that returns first is the one that started last, and that ordering is the entire reason the structure is called a stack.
Solve it three ways: snap the jigsaw pieces together, fill in the blanks, or type it from scratch against the tests. This one is free.
Every line of the solution comes with a note explaining why it is there, and a step by step replay shows the code running. At level 3, where you type it yourself, you can ask for an AI mock interview on this problem that ends with a hiring manager's scorecard.
Browse all 546 puzzles