第十題 爬樓梯

2021-09-05 12:45:34 字數 1011 閱讀 5522

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

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

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

示例 1:

輸入: 2

輸出: 2

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

1 階 + 1 階

2 階示例 2:

輸入: 3

輸出: 3

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

3. 1 階 + 1 階 + 1 階

4. 1 階 + 2 階

5. 2 階 + 1 階

方法一:

不需要用陣列存下來所有資料:8ms

class solution 

//建立乙個特定大小的陣列

//並將其所有值設定為相同的預設值

var arr:[int] = array(repeating: 0 , count: n+1)

//斐波那契數列

//遞迴方式會時很多運算時重複,導致運算時間超時

arr[1] = 1

arr[2] = 2

for i in 3...n

return arr[n] }}

方法二:

與一的儲存方式不一樣(12ms)

class solution 

//建立乙個特定大小的陣列

//並將其所有值設定為相同的預設值

var arr:[int] = array(repeating: 0 , count: n+1)

//斐波那契數列

//遞迴方式會時很多運算時重複,導致運算時間超時

演算法題 爬樓梯

題幹 假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 核心思想 這題明顯是一道遞迴題,通用公式是climbstairs n climbstairs n 1 climbstairs n 2 但是直接...

leetcoed第七十題 爬樓梯

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

python爬樓梯遞迴 爬樓梯(Python3)

假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2 輸出 2 解釋 有兩種方法可以爬到樓頂。1 階 1 階 和 2 階 解題思路 實現了兩種方法,但是第一種超出時間限制 因為遞迴的時候方...