簡單動態規劃問題-爬樓梯

假設你正在爬樓梯。需要 n 階你才能到達樓頂。

每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢?

注意:給定 n 是一個正整數。

示例 :

輸入: 3
輸出: 3
解釋: 有三種方法可以爬到樓頂。

  1. 1 階 + 1 階 + 1 階
  2. 1 階 + 2 階
  3. 2 階 + 1 階

簡單動態規劃規劃解法:

class Solution {
    public static int  climbStairs(int n) {
        if (n == 1 || n == 2) {
            return n;
        }
        int demo[] = new int[n];
        demo[1]=1;
        demo[2]=2;
        for (int i = 3; i <=n; i++) {
            demo[i] = demo[i-1] + demo[i-2];
        }
        return demo[n];
    }
}
public class palouti {
    public static void main(String[] args) {
        System.out.println(Solution.climbStairs(20));
    }
}

本題來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/climbing-stairs

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章