【LeetCode】面试题10-2. 青蛙跳台阶问题
题目:
思路:
动态规划(其它方法同斐波那契数列)
- 初始状态: dp[0]=1,dp[1]=1
- 转移方程: dp[n] = dp[n-1] + dp[n-2],同斐波那契数列相同
代码:
Python
class Solution(object):
def numWays(self, n):
"""
:type n: int
:rtype: int
"""
dp = []
dp.append(1)
dp.append(1)
for i in range(2, n + 1):
dp.append((dp[i - 1] + dp[i - 2]) % 1000000007)
return dp[n]