70 爬樓梯(簡單題)

2021-10-01 04:45:21 字數 705 閱讀 3824

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

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

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

示例 1:

輸入: 2

輸出: 2

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

1 階 + 1 階

2 階

示例 2:

輸入: 3

輸出: 3

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

1 階 + 1 階 + 1 階

1 階 + 2 階

2 階 + 1 階

如果一共有n個台階,那,最後的台階走完方法可以是走一節或者走兩節。那走法就變成了f(n-1)+f(n-2),由此可以看出,這是個斐波那契數列。

遞迴解法,超時:

class

solution

private

intcb

(int x)

}

動態規劃:

class

solution

int cur =1;

int next =2;

while

(n-2

>0)

return next;

}}

70 爬樓梯(簡單)

解題思路1 使用斐波那契序列 從第二個之後第n個結果為n 1,n 2項之和。使用遞迴呼叫。def climbstairs n if n 0 return 0if n 1 return 1if n 2 return 2if n 2 return climbstairs n 1 climbstairs ...

第70題 爬樓梯

假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。解題思路 假設到n層需要x種方法,到n 1層需要y種方法,則到n 2層需要x y種方法。因為從第n層到第n 2層,只能從n到n 1再到n 2或者直接從n到...

leetcode70題 爬樓梯

每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2 輸出 2 解釋 有兩種方法可以爬到樓頂。1 階 1 階 2 階示例 2 輸入 3 輸出 3 解釋 有三種方法可以爬到樓頂。3.1 階 1 階 1 階 4.1 階 2 階 5.2 階...