剑指offer--跳台阶(动态规划)
题目描述:
思路:
典型的动态规划问题,对于第n阶台阶来说,有两种办法,一种是爬一个台阶,到第n-1阶;第二种是爬两个台阶,到第n-2阶。
得出动态规划递推式:F(n)=F(n-1)+F(n-2)
python实现:
class Solution:
def jumpFloor(self, number):
if number < 0: return 0
if number == 1: return 1
if number == 2: return 2
result = [1, 2]
for i in range(2,number):
result.append(result[i-1] + result[i-2])
return result[-1]