题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
思路: //分析:f(n)=f(n-1)+f(n-2)+f(n-3)+f(n-4)+.......f(1)+f(0)
//f(n-1)=f(n-2)+f(n-3)+f(n-4)+.......f(1)+f(0)
//总结上面的式子:f(n)=2f(n-1),这就有了递推的式子
因为每次的跳跃阶梯数可以是1到n所以接下来就有n种可能性,而f(n-1)的n-1种可能性跟f(n)中的n种可能性,只差一个f(n-1),因此,f(n)=f(n-1).
代码:
public class Solution {
public int JumpFloorII(int target)
{
//分析:f(n)=f(n-1)+f(n-2)+f(n-3)+f(n-4)+.......f(1)+f(0)
//f(n-1)=f(n-2)+f(n-3)+f(n-4)+.......f(1)+f(0)
//总结上面的式子:f(n)=2f(n-1),这就有了递推的式子
if(target==0)
{
return 0;
}
if(target==1)
{
return 1;
}
return 2*JumpFloorII(target-1);
// }
}
}