LeetCode刷題 70 爬樓梯

2021-10-25 11:30:19 字數 571 閱讀 4471

假設你正在爬樓梯。需要 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 階

分析:1、這題一看就是遞迴的題,也屬於遞迴中,但是我用遞迴竟然超時了,檢視其他人的**,也不見有遞迴的寫法。

附上遞迴的**

class solution  

else

}}

2、採用for迴圈操作

class solution

int n1=1,n2=2;

int n3=0;

for(int i=2;i參考:

leetcode刷題 70爬樓梯

假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。最開始使用的是回溯的方法,但是時間效率地下沒有通過,於是想到了動態規劃的演算法。對於i樓梯,到達其的方法有從i 1跨一步和i 2跨兩步,因此到底i的方法就...

LeetCode刷題筆記 70 爬樓梯

假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 輸入 3 輸出 3 解釋 有三種方法可以爬到樓頂。1 階 1 階 1 階 1 階 2 階 2 階 1 階 第一遍自己寫的,沒想出來,但找到了斐波拉契...

leetcode刷題之旅 70 爬樓梯

題目鏈結 這題其實是典型的fibonacci問題,每次爬樓梯都只能爬一層或爬兩層,那麼我們要是想上第n層就只能從第n 1層上一層,或者從第n 2層上兩層,同樣的要上第n 1層和第n 2都有兩種解法。那麼我們就可以得到通項 f n f n 1 f n 2 n代表層數且n要大於3。同時題目約定了給出的n...