[算法] - 上台阶问题(动态规划)

2021-03-20 14:35:17 浏览数 (1)

1. 问题

有十级台阶,每次只能上一级或者两级,问一共有多少种组合。

2. 代码

代码语言:javascript复制
package com.jfp;

/**
 * @author jiafupeng
 * @desc
 * @create 2021/3/17 14:37
 * @update 2021/3/17 14:37
 **/
public class Test2 {

    static int getClimbingWays(int n){
        if(n < 1){
            return 0;
        }

        if(n == 1){
            return 1;
        }

        if(n == 2){
            return 2;
        }

        int a = 1;
        int b = 2;
        int sum = 0;
        for(int i = 3;i<=n;i  ){
            sum = a   b;
            a = b;
            b = sum;
        }

        return sum;
    }

    public static void main(String[] args) {
        int climbingWays = getClimbingWays(10);
        System.out.println(climbingWays);
    }
}

3. 参考

  1. 漫画:什么是动态规划?(整合版) - 小灰

0 人点赞