剑指offer-09. 变态跳台阶

题目描述

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

解题思路:

跳1级,剩下n-1级,则剩下跳法是f(n-1)

跳2级,剩下n-2级,则剩下跳法是f(n-2)

所以f(n)=f(n-1)+f(n-2)+...+f(1)

因为f(n-1)=f(n-2)+f(n-3)+...+f(1)

所以f(n)=2*f(n-1)

代码实现:

public class Solution {
    public int JumpFloorII(int target) {
        
        if(target == 1){
            return 1;
        }else{
            return JumpFloorII(target-1)*2;
        }
    }
}

 效率:

发布了89 篇原创文章 · 获赞 0 · 访问量 922

猜你喜欢

转载自blog.csdn.net/qq_34449717/article/details/104137742