变态跳台阶(递归算法)

追梦赤子心 追梦赤子心     2022-09-20     550

关键词:

台阶的级数:1,2,3,4,5,6.....

对应的跳法:1,2,4,8,16,32....

最终结论 在n阶台阶,一次有1、2、...n阶的跳的方式时,总得跳法为:

          | 1        ,(n=0 ) 
f(n) =    | 1        ,(n=1 )
          | 2*f(n-1) ,(n>=2)

 

package suanfati;
/*
 * 变态跳台阶
 * 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。
 * 求该青蛙跳上一个n级的台阶总共有多少种跳法。
 * 递归算法
 */
public class HighFrogJump {
    public static int JumpFloorII(int target) {    
        if(target < 0){
            return -1;
        }else if(target == 0 || target == 1){
            return 1;
        }else{
            return 2*JumpFloorII(target-1);
        }
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println(JumpFloorII(5));//16
    }

}

 

青蛙跳台阶衍生之变态跳台阶(递归,思路分析及代码实现)

//一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。//思路:接上一个跳台阶问题思路继续分析,上个问题中,青蛙只能跳1级或者2级。则最后一跳只... 查看详情

青蛙变态跳台阶解法

问题:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。  这个问题可以想到递归来解决,因为以前遇到过类似的爬楼梯问题,也相当于斐波那契数列。 ... 查看详情

剑指offer[9]——变态跳台阶(代码片段)

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。这个题目是跳台阶的进阶版,其实跟大家分析一下,这道题其实比上一道题简单。在这道题目中,... 查看详情

变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。1publicclassSolution{2publicintJumpFloorII(intn){3returnn<2?n:2*JumpFloorII(n-1);4}5}  查看详情

变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路:每个台阶都有跳与不跳两种情况(除了最后一个台阶),最后一个台阶必须跳。所以共... 查看详情

变态跳台阶

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。classSolutionpublic:intjumpFloorII(intnumber)if(number==0)return0;//record[i]需要第i级台阶有多少种跳法vector<int>record(numbe... 查看详情

变态跳台阶

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路:笔算前几个得到规律是2的n次方。1publicclassSolution{2publicintJumpFloorII(inttarget){3intres=1;4for(inti=0;i<target-1;... 查看详情

变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。参数的target是台阶的数量:f(1)=1f(2)=f(2-1)+f(2-2)       f(3)=f(3-1)+f(3-2)+f(3-3),第... 查看详情

变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。分析:链接:https://www.nowcoder.com/questionTerminal/22243d016f6b47f2a6928b4313c85387因为n级台阶,第一步有n种跳... 查看详情

变态跳台阶(代码片段)

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法思路:数学题,找规律即可intjumpFloorII(intn)intn1=1;while(n>1)n1=n1*2;n--;returnn1;  查看详情

剑指offer变态跳台阶

【问题描述】一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。时间限制:1秒 空间限制:32768K 【AC代码】f(n-1)=f((n-1)-1)+f((n-1)-2)+f((n-1)-3)+·&... 查看详情

牛客变态跳台阶

//题目描述//一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。//求该青蛙跳上一个n级的台阶总共有多少种跳法。publicstaticintJumpFloorII(inttarget)if(target==0||target==1)return1;intcount=0;for(inti=1;i<=target;i++)count+=JumpFloorI... 查看详情

变态跳台阶(代码片段)

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解题思路:用数学归纳法,容易证明f(n)=2**(n-1)pythonsolution:#-*-coding:utf-8-*-classSolution:defjumpFloorII(self,nu... 查看详情

刷题10变态跳台阶

描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路:从跳台阶问题就可以推出啊,关于本题,前提是n个台阶会有一次n阶的跳法。... 查看详情

跳台阶,变态跳台阶,矩阵覆盖(代码片段)

...self,number):#writecodeherea=1b=1foriinrange(number):a,b=b,a+breturna二、变态跳台阶1、问题描述变态跳台阶一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。2、代码classSolutio... 查看详情

变态跳台阶

解题思路1.由上题跳台阶思路得f(n)=f(n-1)+f(n-2)+f(n-3)+.....+f(n-n),同时得f(n-1)=f(n-2)+f(n-3)+....+f(n-n);2.由1得f(n)=f(n-1)+f(n-1)=2*f(n-1);3.f(n-x)代表的是最后一次跳x个台阶的跳法种类数题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级…... 查看详情

剑指offer---变态跳台阶

classSolution{public:intjumpFloorII(intnumber){if(number==1){return1;}elseif(number==2){return2;}else{return(2*jumpFloorII(number-1));}}};  查看详情

变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法 在评论区找到三种有趣的理解:青蛙只跳1或2可以得出是一个斐波那契问题,即a[n]=a[n-1]+a[... 查看详情