题目
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
程序核心思想
跟跳台阶类似。
台阶数 | 跳法数 | 解释 |
---|---|---|
0 | 1 | |
1 | 1 | 从0级跳一级 |
2 | 2 | 从0级跳两级,从1级跳1级 |
3 | 4 | 从0级跳三级,从1级跳两级,从2级跳一级 |
4 | 8 | 从0级跳四级,从1级跳三级,从2级跳两级,从3级跳一级 |
以此类推,青蛙跳上n级的办法,是从0级跳n级,从1级跳n-1级,...,从n-1级跳一级,即跳上n级台阶的跳法数等于之前所有台阶跳法数的和,又发现规律,n级台阶的跳法数等于n-1级台阶跳法数的二倍。
Tips
无
代码
public class Solution {
public int JumpFloorII(int target) {
if(target == 1){
return 1;
}else{
return 2 * JumpFloorII(target - 1);
}
}
}
网友评论