关键词:
问题:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
这个问题可以想到递归来解决,因为以前遇到过类似的爬楼梯问题,也相当于斐波那契数列。
跳台阶,可以跳1级,也可以跳2级,求n级台阶跳法。
第一步有两种跳法:
跳1级,剩下跳法为f(n-1);
跳2级,剩下跳法为f(n-2);
当为n时,f(n)=f(n-1)+f(n-2);
但此题可以跳上n级台阶:
第一步有n种跳法:跳1级、跳2级、到跳n级
跳1级,剩下n-1级,则剩下跳法是f(n-1)
跳2级,剩下n-2级,则剩下跳法是f(n-2)
跳3级,剩下n-3级,则剩下跳法是f(n-3)
......
推理得到:
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)
青蛙跳台阶衍生之变态跳台阶(递归,思路分析及代码实现)
//一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。//思路:接上一个跳台阶问题思路继续分析,上个问题中,青蛙只能跳1级或者2级。则最后一跳只... 查看详情
剑指offer-青蛙变态跳台阶-全概率公式
变态跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。1publicclassSolution{2publicintJumpFloorII(intn){3returnn<2?n:2*JumpFloorII(n-1);4}5} 查看详情
牛客网青蛙变态跳台阶问题
functionjumpFloorII(number){//writecodeherevarresult=[0,1,2];varmethodNum=0;varn1=1;varn2=2;vartemp=0;if(number<=0){return0;}elseif(number===1){return1;}elseif(number===2){return2;}else{/*for(vari= 查看详情
a题之变态青蛙跳
一仅仅青蛙一次能够跳上1级台阶,也能够跳上2级……它也能够跳上n级。求该青蛙跳上一个n级的台阶总共同拥有多少种跳法。分析:这是一个斐波拉契数列的引申问题,先来看看斐波拉契数列:n<=1,??f(n)=1;n>=2,??f(n)=f(n-1)+f(n-2... 查看详情
变态跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法 在评论区找到三种有趣的理解:青蛙只跳1或2可以得出是一个斐波那契问题,即a[n]=a[n-1]+a[... 查看详情
变态跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。classSolutionpublic:intjumpFloorII(intnumber)if(number==0)return0;//record[i]需要第i级台阶有多少种跳法vector<int>record(numbe... 查看详情
变态跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路:每个台阶都有跳与不跳两种情况(除了最后一个台阶),最后一个台阶必须跳。所以共... 查看详情
变态跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路:笔算前几个得到规律是2的n次方。1publicclassSolution{2publicintJumpFloorII(inttarget){3intres=1;4for(inti=0;i<target-1;... 查看详情
变态跳台阶(递归算法)
...=|1,(n=1)|2*f(n-1),(n>=2) packagesuanfati;/**变态跳台阶*一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。*求该青蛙跳上一个n 查看详情
剑指09变态青蛙跳
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 classSolutionpublic: intjumpFloorII(intnumber) intjumpFlo... 查看详情
变态跳台阶(代码片段)
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法思路:数学题,找规律即可intjumpFloorII(intn)intn1=1;while(n>1)n1=n1*2;n--;returnn1; 查看详情
牛客变态跳台阶
//题目描述//一只青蛙一次可以跳上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... 查看详情
变态跳台阶
题目描述一只青蛙一次可以跳上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、问题描述跳台阶:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。2、代码classSolution:defjumpFloor(self,number):#writecodeherea=1b=1foriinrange(number... 查看详情
变态跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。分析:链接:https://www.nowcoder.com/questionTerminal/22243d016f6b47f2a6928b4313c85387因为n级台阶,第一步有n种跳... 查看详情
[剑指offer]2.变态跳台阶
题目一仅仅青蛙一次能够跳上1级台阶,也能够跳上2级……它也能够跳上n级。求该青蛙跳上一个n级的台阶总共同拥有多少种跳法。思路用Fib(n)表示青蛙跳上n阶台阶的跳法数,设定Fib(0)=1;当n=1时。仅仅有一种跳法,即1阶跳,即F... 查看详情