概述
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
解题思路
对于n级台阶,假设有arr[n]种跳法;
1. 如果第一次跳1阶,那么总共有arr[n-1]种跳法;
2. 如果第一次跳2阶,那么总共有arr[n-2]种跳法;
3. 结合1,2,那么arr[n]=arr[n-1]+arr[n-2]
本题其实是斐波那契数列问题。
代码
class Solution {
public:
int jumpFloor(int number) {
if (number <= 0)
return 0;
vector<int> arr(number + 1, 1);
for (int i = 2; i <= number; i++){
arr[i] = arr[i - 1] + arr[i - 2];
}
return arr[number];
}
};
最后
以上就是失眠香烟为你收集整理的剑指offer题解C++【8】跳台阶题目描述的全部内容,希望文章能够帮你解决剑指offer题解C++【8】跳台阶题目描述所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复