题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
解题思路
由
f(n-1) = f(n-2) + f(n-3) + … + 1
f(n) = f(n-1) + f(n-2) +f(n-3) … + 1
归纳出:
f(n)=f(n-1)+f(n-1)=2*f(n-1)
代码实现
int jumpFloorII(int number) {
if(number==0){return 0;}
else if(number==1){return 1;}
else{
int fn_1=2;
for(int i=2;i<number;i++){
fn_1=fn_1+fn_1;
}
return fn_1;
}
}
本文详细探讨了青蛙跳台阶的问题,给出了一个递推公式,并通过一个简洁的C++代码实现了解决方案。通过分析不同跳跃步数之间的关系,归纳出递推公式f(n)=2*f(n-1),并最终得出解决此问题的高效算法。
2197

被折叠的 条评论
为什么被折叠?



