概述
一、问题描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
二、思路分析
考点:递归+循环
本题的思路与上篇博文跳台阶问题如出一辙,属于同类型问题,只是稍微复杂了一点。
——普通的跳台阶问题,因为一次只能走一步或者两步,只有从少一层或者两层的位置才能到达当前位置,因此处在第n层的方案数等于处在第n-1层和第n-2层的方案数之和。
——而本题中每次可以跳1,2,3…,n层台阶,所以无论处在1,2,3…n-1的哪一层都可以直接再跳一次到达第n层,因此处在第n层的方案数等于处在第1,2,…n-1层的方案数之和,即有以下递推公式:
三、代码展示
public int JumpFloorII(int target) {
if(target==1) {
return 1;
}else if(target==2) {
return 2;
}else {
int i=1;
int s=1;
while(i<target) {
s+=JumpFloorII(i);
i++;
}
return s;
}
}
}
最后
以上就是贪玩手机为你收集整理的升级版——变态跳台阶问题的全部内容,希望文章能够帮你解决升级版——变态跳台阶问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复