【牛客】跳台阶

题目:

跳台阶_牛客题霸_牛客网 (nowcoder.com)

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

思路:

动态规划问题分三步:

1、状态定义:f(i): 跳到i台阶的总跳法

2、状态递推:f(i) = f(i-1)+f(i-2)

3、初始状态: f(0) = 1(0台阶,就是起点,到达0台阶的方法有一种,就是不跳[这里可能有点奇怪,但是想想,如果方法次数为0,就说明不可能开始...]), f(1) = 1;

代码:

class Solution {
public:
    int jumpFloor(int number) {
        if(number == 1)
        {
            return 1;
        }
        if(number == 2)
        {
            return 2;
        }
        return jumpFloor(number-1) + jumpFloor(number - 2);
    }
};

猜你喜欢

转载自blog.csdn.net/holle_world_ldx/article/details/128182055