Leetcode70爬樓梯

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

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

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

示例 1:

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

  1. 1 階 + 1 階
  2. 2 階
//就是那個斐波納期數列,我的天居然前面幾行提交的時候報錯了,
後來加上,主體是對的,自底向上
class Solution {
    public int climbStairs(int n) {
      if(n < 0)
        return 0;
      if(n == 1)
         return 1;
        
        
        
        
        
        
      int [] dp=new int [n+1];//主體部分
      dp[1]=1;
      dp[2]=2;
      for(int i=3;i<=n;i++){
          dp[i]=dp[i-1]+dp[i-2];
      }
      return dp[n];
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章