Python 青蛙跳台阶
时间: 2023-08-14 10:22:27 浏览: 98
python实现弹跳小球
青蛙跳台阶问题是一个经典的递归问题,可以使用递归或动态规划来解决。
下面是使用递归的 Python 代码实现:
```python
def jump(n):
if n <= 2:
return n
return jump(n-1) + jump(n-2)
```
动态规划的代码实现如下:
```python
def jump(n):
if n <= 2:
return n
dp = [0] * (n+1)
dp[1] = 1
dp[2] = 2
for i in range(3, n+1):
dp[i] = dp[i-1] + dp[i-2]
return dp[n]
```
以上两种方法的时间复杂度都是 O(n),空间复杂度也是 O(n)。
另外,根据题目意思,青蛙可以跳 1 或 2 个台阶,如果青蛙可以跳任意数量的台阶,可以使用斐波那契数列公式 F(n) = F(n-1) + F(n-2) 来解决问题。
阅读全文