我是靠谱客的博主 失眠香烟,最近开发中收集的这篇文章主要介绍剑指offer题解C++【8】跳台阶题目描述,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目描述

一只青蛙一次可以跳上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】跳台阶题目描述所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部