题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
问题抽象为:
n阶楼梯:f(n)=f(n−1)+f(n−2)+...+f(2)+f(1)f(n) = f(n-1)+f(n-2)+...+f(2)+f(1)f(n)=f(n−1)+f(n−2)+...+f(2)+f(1)
n-1阶楼梯:f(n−1)=f(n−2)+...+f(2)+f(1)f(n-1) = f(n-2)+...+f(2)+f(1)f(n−1)=f(n−2)+...+f(2)+f(1)
所以: f(n)=2∗f(n−1)f(n)=2*f(n-1)f(n)=2∗f(n−1)
public class Solution {
public int JumpFloorII(int target) {
if(target = 1){
return 1;
} else {
return 2*JumpFloorII(target - 1);
}
}
}