青蛙跳台阶变形题
问题描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
难易度:简单
传统青蛙跳台阶问题(一次跳一阶或两阶)通过递归、动态规划可轻易解决。
本题对每次跳的阶数不做限制,得方程:
f(n) = f(0) + f(1) + …… + f(n -1)
f(0), f(1)=1
即跳到第n阶可直接跳到第n阶,可先跳到第1阶,再直接跳(n-1)阶,可跳到第2阶,再直接跳(n-2)阶等。
由方程易得f(2)=2,f(3) =4,……,f(n) = 2 ^ (n-1)
代码很简单:`
public class Main {
public int jumpFloorII(