2021 02 22 力扣70題 爬樓梯

2021-10-19 18:34:09 字數 765 閱讀 3737

這是力扣上的一題簡單題目,可以用多種方法寫出來。

方法1:遞迴

class

solution

};

時間複雜度o(2^n),空間複雜度o(n)

這種方法超時了

方法2:動態規劃

思路:用dp[i-1]+dp[i-2]記錄前兩次要用的方法,使時間複雜度降到o(n)

class

solution

return dp[n-1]

;}};

時間複雜度o(n),空間複雜度o(1)

方法3: 斐波那契數列+滾動陣列

思路:1級台階1種方法,2級台階2種方法,3級台階3種方法,可推出4級台階5種方法(1+1+1+1或2+1+1或1+2+1或1+1+2或2+2),從而可推斷出從3級台階開始,後面每一級爬台階的方法都是前兩個爬台階方法之和,推斷出遞推關係式:f(x)=f(x−1)+f(x−2),f(1)=1,f(2)=2,f(3)=5…就是乙個斐波那契數列。以下是**

class

solution

return second;}}

;

時間複雜度o(n),空間複雜度o(1)

更多的解題方法見官方題解:

日拱一卒,功不唐捐!

力扣中國70題爬樓梯

這道題是遞迴的思想,想要爬上第n台階,1,可以通過n 1層上去,2,通過第n 2層上去 因此f n f n 1 f n 2 class solution def climbstairs self,n int int 前兩層比較特殊,需要自行定義。if n 1 or n 2 return n 定義兩個...

力扣 70 爬樓梯

問題描述 假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2輸出 2解釋 有兩種方法可以爬到樓頂。1.1 階 1 階 2.2 階示例 2 輸入 3輸出 3解釋 有三種方法可以爬到樓頂。1...

力扣 70 爬樓梯

題目描述 簡單 假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。題目鏈結 示例 1 輸入 2輸出 2解釋 有兩種方法可以爬到樓頂。1.1 階 1 階 2.2 階 示例 2 輸入 3輸出 3解釋 有三種方...