# 這道題是遞回的思想,想要爬上第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
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/143493.html
標籤:Python
上一篇:pyecharts生成HTML白頁面/pyecharts指定從本地加載拉取echarts.min.js
下一篇:力扣中國100題相同的樹
