# 这道题是递归的思想,想要爬上第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