10.青蛙跳台阶

青蛙跳台阶

1.题目描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

2.思路

动态规划,问题转化为斐波那契数列问题, f ( 0 ) = 0 , f ( 1 ) = 1 , f ( 2 ) = 2...... f ( n ) = f ( n 1 ) + f ( n 2 ) , n > = 3 f(0) = 0,f(1)=1,f(2)=2......f(n) = f(n-1) + f(n-2),n>=3

3.代码

class Solution {
public:
    int jumpFloor(int number) {
        vector<int> res;
        res.resize(number+1);
        res[0] = 0;
        res[1] = 1;
        res[2] = 2;
        if(number < 3){
            return res[number];
        }
        for(int i = 3;i <= number;++i){
            res[i] = res[i-1] + res[i-2];
        }
        return res[number];
    }
};
发布了71 篇原创文章 · 获赞 0 · 访问量 797

猜你喜欢

转载自blog.csdn.net/jiangdongxiaobawang/article/details/103917199