概述
题目描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
解题思路:
依旧还是递归的思路,找到对应的递归式十分重要,这里显然,可以由任意一阶到第n阶,则对应的递归式为:
f(n) = f(0) + f(1) + f(2) + … + f(n-1)
注意:由于可以从原始的位置直接跳到n阶,所以这里一定要注意有一个f(0) = 1
具体代码如下:
class Solution
{
public:
int jumpFloorII(int number)
{
if (number == 0) return 1;
if (number == 1) return 1;
if (number == 2) return 2;
if (number > 2)
{
int res = 0;
for (int i = 0; i < number; i++)
{
res += jumpFloorII(i);
}
return res;
}
else return -1; //出错的时候返回-1
}
};
最后
以上就是爱笑钢笔为你收集整理的牛客网_剑指offer_变态跳台阶_c++的全部内容,希望文章能够帮你解决牛客网_剑指offer_变态跳台阶_c++所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复