动态规划之棋盘路径问题
1.对比
DP vs 回溯 vs 贪心
回溯(递归) - 重复计算
贪心 - 永远局部最优
DP - 记录局部最优子结构/多种记录值
2.棋盘路径问题
问题描述:
如下图所示,小人从左上角移动到右下角...因此该问题是递归问题,同时可以通过动态规划解决。...3.判断是石头还是空地
上述棋盘有个很强的约束条件,就是棋盘的约束问题,粉红色假设为石头,没有粉红色为空地,那我们就是要找到空地,从空地进行行走,下面来编写这样的函数。...棋盘生成代码:
import numpy as np
m,n = 8,8
grid = np.zeros((m,n),dtype=np.int)
for i in range(m):
for j...下面为从右下角到左上角的动态规划代码:
def countPath1(grid,m,n,dp):
# 处理每一行
for i in range(m-1,-1,-1):
if