青蛙跳井概率计算代码
时间: 2024-10-02 14:01:31 浏览: 38
基础算法-python青蛙跳台阶
青蛙跳井是一个经典的动态规划问题,通常用于演示递归算法如何转化为迭代的过程。在这个问题中,假设井深为n,青蛙每次可以向上跳1步或2步。我们需要计算青蛙跳出井口所需的最小跳跃次数。
这里是一个简单的Python代码示例:
```python
def frog_jump_well(n):
if n <= 0:
return 0
# 创建一个列表表示每一步的状态,初始化所有值为无穷大
dp = [float('inf')] * (n + 1)
dp[0] = 0
# 从1开始遍历到n,尝试每一步的1步和2步情况
for i in range(1, n+1):
dp[i] = min(dp[i], dp[i-1] + 1) # 如果当前状态可以直接到达,则更新为1步
if i >= 2: # 否则,如果还有剩余高度,再检查是否能通过两步达到
dp[i] = min(dp[i], dp[i-2] + 1)
return dp[n]
# 测试函数
well_depth = 5 # 例如,井的深度为5
print(frog_jump_well(well_depth)) # 输出青蛙跳出井所需最小步数
阅读全文