力扣70 爬樓梯

2021-10-03 04:30:59 字數 1264 閱讀 9240

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

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

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

示例 1:

輸入: 2

輸出: 2

解釋: 有兩種方法可以爬到樓頂。

1、1 階 + 1 階

2、2 階

示例 2:

輸入: 3

輸出: 3

解釋: 有三種方法可以爬到樓頂。

1、1 階 + 1 階 + 1 階

2、1 階 + 2 階

3、2 階 + 1 階

也不能說錯誤,我覺得我能想出來已經很不容易了

然後就報超時了。。**¥#¥#@@@¥%%……此時的心情無處言表

大神們說斐波那契數列,f(n) = f(n-1) + f(n-2)

我乙個菜雞在角落裡不敢吭聲。

思路摘抄:

本質上就是斐波那契數列的乙個現實例子,

從第三階樓梯來舉例:當你爬上一階樓梯後,剩下還有兩階樓梯也就等於現在走兩階樓梯的可能,也就是2,如果是爬上兩階樓梯,就剩下一階樓梯,也就是還有一種可能,所以f(3) = f(2) + f(1)

1、遞推的**如下

int

climbstairs

(int n)

if(n ==2)

int a =

1, b =

2, temp;

for(

int i =

3; i <= n; i++

)return b;

}

2、遞迴**如下

int

_climb

(int n,

int*arr)

intclimbstairs

(int 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解釋 有三種方...

2021 02 22 力扣70題 爬樓梯

這是力扣上的一題簡單題目,可以用多種方法寫出來。方法1 遞迴 class solution 時間複雜度o 2 n 空間複雜度o n 這種方法超時了 方法2 動態規劃 思路 用dp i 1 dp i 2 記錄前兩次要用的方法,使時間複雜度降到o n class solution return dp n...