剑指offer上的题目,在牛客网上刷题通过,下面记录相关思路。
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
问题分析
好吧这次真的是变态青蛙,居然可以一次直上n级台阶。
设跳到第n级台阶有f(n)种跳法。不同于普通青蛙,这次最后一跳跃就有了n种选择:
- 从第n-1级台阶跳上1级
- 从第n-2级台阶跳上2级
- 从第n-3级台阶跳上3级
- ……
- 从第0级台阶跳上n级(即从起点起跳)
则可得到递推公式:
f(n) = f(n-1) + f(n-2) + f(n-3) + … + f(1) + f(0)
且f(0) = 1,f(1) = 1