# 這道題是遞歸的思想,想要爬上第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 ...
# 這道題是遞歸的思想,想要爬上第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