假設你正在爬樓梯。需要 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 階 解題思路 實現了兩種方法,但是第一種超出時間限制 因為遞迴的時候方...