题解 | 跳台阶
跳台阶
https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param number int整型
# @return int整型
#
class Solution:
def jumpFloor(self , number: int) -> int:
# write code here
dp=[0 for i in range(50)]
dp[0]=1
dp[1]=1
for i in range(2,number+1):
dp[i]=dp[i-1]+dp[i-2]
return dp[number]
这其实是一个经典的递归问题,经典例子如斐波拉契数列,1 1 2 3 5...,但是直接用递归法会有一半的样例超时(而且在Python类里调用方法自身一定要记得是self.),所以可以用一维dp数组实现动态规划:`dp[i]=dp[i-1]+dp[i-2]`


