/*
* 题目描述
* 变态跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。
求该青蛙跳上一个n级的台阶总共有多少种跳法。
共1级台阶:1种方法 n级台阶共f(n)方法
2 :2
3:f(1)+f(2)=3
n:f(n-1)+f(n-2)+……+f(1)
n-1:f(n-2)+……+f(1)
相减 f(n)-f(n-1)=f(n-1)则f(n)=2f(n-1)
*/
public class Offer09 {
public int JumpFloorII(int target) {
if(target==0) {
return 0;
}
int[] a=new int[target+2];
int b=3;
//a[0]=0;
a[1]=1;
a[2]=2;
if(target<b && target>0) {
return a[target];
}
for(int i=3;i<=target;i++) {
a[i]=2*a[i-1];
}
return a[target];
}
}
剑指Offer09——变态跳台阶
最新推荐文章于 2021-01-29 21:04:22 发布