题解 | #跳台阶#

跳台阶

https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param number int整型 
     * @return int整型
     */
    public int jumpFloor (int number) {
        // write code here
        // 动态规划
        int a = 1, b = 1, c = 1;
        for (int i = 2; i <= number; i++) {
            c = a + b;
            a = b;
            b = c;
        }
        return c;
    }
}

思路分析:

总体思想是 逆向思维,上到第n阶台阶的方式可以通过计算 上到第 n-1 阶台阶的方式数量 和 上到第 n-2 阶台阶的方式数量,然后相加得到;

1 - 1

2 - 2(1+1 --> 单纯凑数)

3 - 3(1+2)f(1)+f(2)

4 - 5(2+3)f(2)+f(3)

……

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务