A staircase has n steps. You can scale the stairs by taking steps one or two at a time. How many ways are there to scale the steps?

If there are 0 steps, there is 1 possibility (you are already done).If there is 1 step, there is 1 possibility (you take one step).
If there are n steps, your first choice is either 1 step or 2 steps:Choice 1: the problem now exists for n-1 stepsChoice 2: the problem now exists for n-2 steps
Let f(x) be the number of ways of scaling x steps. You can now say that f(x) = f(x-1) + f(x-2) - the Fibonacci sequence.
This is an example of a dynamic programming question - a computer science topic for first-year Cambridge computer scientists, and my first interview question.

Related Oxbridge Preparation Mentoring answers

All answers ▸

Suggest why DNA is a more suitable long-term storage molecule for genetic information than RNA.


Give an example of convergent evolution and suggest why it has occurred.


Is there anything that you wish someone had told you before your interview?


What's the most difficult question you were asked during your interview for Cambridge?