leetcode70爬楼梯

.

class Solution:

    def climbStairs(self, n: int) -> int:

        #先将大问题化简成为小问题当一共8个台阶,最后一步走一个台阶,需要的步数为7个台阶的方法数,

        #最后一步走两个,是f(6),f(8)=f(7)+f(6),在从小问题分析,在分析边界值

        #得到函数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]

你可能感兴趣的:(leetcode70爬楼梯)