# N-Ways Staircase

**Tags:**

## The Problem

Given a set of `n` steps and the constraint that you can skip steps up to a maximum of
`m` steps at a time, how many different ways are there to climb the full set of stairs?

## My Approach

This question is usually given with a fixed value of `m`. This simplifies the question slightly by
fixing that variable. Supporting any value of `m` is a trivial modification. I did add it in my
solution because it allowed me to test different combinations in my tests. But adding support for any value
of `m` in an interview setting would probably be considered over-engineering.

The hardest part for me was accepting the base case. I found it difficult to get my head around the idea that there is 1 way to climb a staircase with 0 steps. I can almost get there by thinking of it as a staircase with a null set of steps. But it's still odd to me. Once I got my head around that though, the rest of the solution came together pretty easily.