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

2021-03-18  本文已影响0人  夹胡碰

1. 问题

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

2. 代码

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. 漫画:什么是动态规划?(整合版) - 小灰
上一篇 下一篇

猜你喜欢

热点阅读