我是靠谱客的博主 失眠香烟,这篇文章主要介绍剑指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】跳台阶题目描述内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部