剑指Offer九: 变态跳台阶

题干

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

思路

和第八题而言每次的台阶数只能是1和2不一样,这个方法可以对于每一级都有不定项的跳方法。我们还是先列出来一部分的台阶数

台阶数 方法 不同的结果
1 1 1
2 11 2 2
3 111 12 21 3 4
4 1111 112 121 211 22 13 31 4 8

我们可以发现的是对于每下级的太极的跳数等于上一级的两倍。具体的思量就不再深入考虑。

代码

public class Solution {
c int JumpFloorII(int target) {
      
        if(target<=0)
            return -1;
        else if(target==1)
            return 1;
        else return 2*JumpFloorII(target-1);
    }
}
发布了26 篇原创文章 · 获赞 5 · 访问量 695

猜你喜欢

转载自blog.csdn.net/weixin_44015043/article/details/105334444