09高级跳台阶–剑指offer, java版
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
f(1)=1
f(2)=2
f(3)=f(2)+f(1)+1=4 (第一次跳1级;第一次跳2级;第一次跳3级)
f(4)=f(3)+f(2)+f(1)+1=8
f(5)=f(4)+f(3)+f(2)+f(1)+1=16
…
f(n)=2 * f(n-1)
public class Solution {
public int JumpFloorII(int target) {
if(target == 0) return 0;
if(target == 1) return 1;
return 2 * JumpFloorII(target-1);
}
}