- 以终为始 - 从终点开始倒推
- 思考有几条途径可以到达当前的状态,例如对于二维数组来说,到达
(i,j)
,可能有(i-1,j)
、(i,j-1)
、(i+1,j)
、(i,j+1)
等等 - 确定选取策略 - 比如有三条路径可以过来,每条路径都带有一定的信息,结合策略(例如 min、max ...)和信息,选择来源
- 根据第 2、3 步写出递归函数
- 在函数开头加上中止条件
- 如果空间开销允许的话,建议加上“备忘录”,用于对于已经走过的节点,快速取值
yinyuxing 2021-06-15 21:38 原文
(i,j)
,可能有 (i-1,j)
、(i,j-1)
、 (i+1,j)
、(i,j+1)
等等