# 這道題是遞迴的思想,想要爬上第n台階,# 1,可以通過n-1層上去,2,通過第n-2層上去
# 因此f(n) = f(n-1) + f(n-2)
class solution:
def climbstairs(self, n: int) -> int:
# 前兩層比較特殊,需要自行定義。
if n == 1 or n == 2:return n
# 定義兩個數字,用來儲存f(n-1) f(n-2)
# num_1表示f(n-2),num_2表示f(n-1)
num_1,num_2 = 1,2
sum = 0
# 通過for迴圈從第三層台階計算到第n層台階
for index in range(2,n):
# print(sum,num_1,num_2)
sum = num_1 + num_2
# 這裡注意num_1和num_2表示的含義。
num_1 = num_2
num_2 = sum
return sum
力扣 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解釋 有三種方...
力扣70 爬樓梯
假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2 輸出 2 解釋 有兩種方法可以爬到樓頂。1 1 階 1 階 2 2 階 示例 2 輸入 3 輸出 3 解釋 有三種方法可以爬到樓頂。1...