写出前六个的跳台阶的结果,这个有一部分在上面的已经数出来了,所以我们就只要算上可以跳2阶台阶以上的结果就行了。然后算出
一级台阶:1种 f=fib(1)=1=2^1
二级台阶:2种 f=fib(2)=2=2^2
三级台阶:3种 f=fib(3)+1=4=2^3
四级台阶:5种 f=fib(4)+3=8=2^4
五级台阶:8种 f=fib(5)+8=16=2^5
六级台阶:13种 f=fib(6)+19=32=2^6
然后这个思路清晰了,代码就好写了,和上面类似,都是考察递归和循环的知识点。
public class Solution {
public int JumpFloorII(int target) {
if(target<=0)
return 0;
if(target==1)
return 1;
return JumpFloorII(target-1)*2;
}
}
本文未经允许,不得转载。