.
class Solution:
? ? def climbStairs(self, n: int) -> int:
? ? ? ? #先將大問題化簡成為小問題當(dāng)一共8個(gè)臺(tái)階票摇,最后一步走一個(gè)臺(tái)階肛鹏,需要的步數(shù)為7個(gè)臺(tái)階的方法數(shù)材失,
? ? ? ? #最后一步走兩個(gè)评汰,是f(6),f(8)=f(7)+f(6)权均,在從小問題分析侍筛,在分析邊界值
? ? ? ? #得到函數(shù)f(n)=f(n-1)+f(n-2)
? ? ? ? num=[]
? ? ? ? for i in range(n):
? ? ? ? ? ? if i==0:
? ? ? ? ? ? ? ? num.append(1)
? ? ? ? ? ? if i==1:
? ? ? ? ? ? ? ? num.append(2)
? ? ? ? ? ? if i>=2:
? ? ? ? ? ? ? ? num.append(num[i-1]+num[i-2])
? ? ? ? return num[-1]