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

jacob98 jacob98     2023-04-13     335

关键词:

题目描述

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

这个题目是跳台阶的进阶版,其实跟大家分析一下,这道题其实比上一道题简单。在这道题目中,青蛙可以随意一次性跳n级台阶,也就是说如果青蛙想我先枚举一下前几级台阶的跳法数量:

第一级台阶:1=1(直接从平面跳过来)

第二级台阶:1+1=2(从平面跳过来或从第一级跳过来)

第三级台阶:1+2+1=4(从平面跳过来或从第一级或从第二级跳过来)

第四级台阶:1+2+4+1=8

第五级台阶:1+2+4+8+1=16

第六级台阶:1+2+4+8+16+1=32

第七级台阶:1+2+4+8+16+32+1=64

大家观察规律可以看出来下一级台阶的方法数量是前一级台阶的两倍,正好是2的次方:
[ jumpFloorII[n] = 2^n-1 ]
所以我们就可以很简单的写出算法:

function jumpFloorII(number)

    return Math.pow(2, number-1);

剑指offer09变态跳台阶(代码片段)

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。java版本:publicclassSolutionpublicstaticvoidmain(String[]args)longstartTime=System.currentTimeMillis();System.out.println("第4项的结果... 查看详情

剑指offer:变态跳台阶(代码片段)

目录题目解题思路具体代码题目题目链接剑指offer:变态跳台阶题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解题思路这题的名字和题面都和跳台... 查看详情

剑指offer变态跳台阶(代码片段)

...蛙跳上一个n级的台阶总共有多少种跳法。解法1本题是【剑指Offer】跳台阶的进化版本。原来的青蛙只可以跳上1级或2级,即F(n)=F(n-1)+F(n-2)现在的青蛙可以跳上1到n的任意级,按照之前的解题思路,依然先来看F(n),对于一个n级台... 查看详情

9剑指offer--变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 解题思路:可知本题f(n)=f(1)+f(2)+...+f(n-1)+1;通过数学归纳法得到f(n)=2^(n-1)1#include<iostream>2using... 查看详情

剑指offer-java-变态跳台阶(代码片段)

变态跳台阶题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。代码:packagecom.hlq.test;/***@authorhelongqiang*@date2020/5/1120:34*//***一只青蛙一次... 查看详情

剑指offer9.变态跳台阶(代码片段)

9.变态跳台阶题目一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路与上题相似,假设要到3级,那么可以从0,1,2级直接到三级,那么f3=f1+f2+1,f2=f1+1,f3=... 查看详情

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

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。题解:classSolutionpublic:intjumpFloorII(intnumber)vector<int>dp(number+1,0);dp[0]=1;dp[1]=1;dp[2]=2;for(inti=3;i<=number;... 查看详情

剑指offer变态跳台阶(代码片段)

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路:做一个简单的数学推导,令跳上一个n级台阶总共的跳法为F(n),F(n)=F(n-1)+F(n-2)+....+F(0)=F(n-1)+F(n-1)... 查看详情

剑指offer变态跳台阶

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

剑指offer---变态跳台阶

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

[剑指offer]变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 a[1]=1a[n]=a[n-1]+a[n-2]+...+a[1]+1a[n-1]=a[n-2]+...+a[1]+1=>a[n]=a[n-1]+a[n-1]=2*a[n-1]=>a[n]=2^(n-1)逻辑明白了... 查看详情

剑指offer-青蛙变态跳台阶-全概率公式

        查看详情

《剑指offer》题目:变态跳台阶

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

剑指offer变态跳台阶(代码片段)

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。代码:1//动态规划版2classSolution3public:4intjumpFloorII(intnumber)5if(number==0)6return0;7intcount=1;8for(inti=1;i&... 查看详情

剑指offer变态跳台阶(代码片段)

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。代码:1//动态规划版2classSolution3public:4intjumpFloorII(intnumber)5if(number==0)6return0;7intcount=1;8for(inti=1;i&... 查看详情

[剑指offer]2.变态跳台阶

题目一仅仅青蛙一次能够跳上1级台阶,也能够跳上2级……它也能够跳上n级。求该青蛙跳上一个n级的台阶总共同拥有多少种跳法。思路用Fib(n)表示青蛙跳上n阶台阶的跳法数,设定Fib(0)=1;当n=1时。仅仅有一种跳法,即1阶跳,即F... 查看详情

剑指offer九之变态跳台阶

一、题目  一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。二、思路1、关于本题,前提是n个台阶会有一次n阶的跳法。分析如下:f(1)=1f(2)=f(2-1)+f(2-2) &nbs... 查看详情

剑指offer---09---动态规划:变态跳台阶

https://www.nowcoder.com/practice/22243d016f6b47f2a6928b4313c85387?tpId=13&tqId=11162&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking  题意青蛙的跳法可以有n种就是 查看详情