• 从下往第n阶跳的方法数为F(n),F(n)的前一步骤为F(n-1)或F(n-2)
  • 故问题简化为斐波那契数列F(n) = F(n-1) + F(n-2)

使用动态规划的方式进行实现,用空间节约时间

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param number int整型 
# @return int整型
#
class Solution:
    def jumpFloor(self , number: int) -> int:
        # write code here
        if number == 1:
            return 1
        elif number == 2:
            return 2
        else:
            a = 1
            b = 2
            for i in range(3, number + 1):
                res = a + b 
                a = b 
                b = res
        return res