动态规划最大的特点就是用空间换时间。
比如:同一道题用dfs可能只有90分,因为有测试用例会超时;而用动态规划就能很好的解决这一问题,因为动态规划是有记忆的dfs,这样就能省去很多不必要的重复搜索!
以下面这道题为例:
DFS代码如下:
/**
* 从(i,j)位置开始搜索(往下滑雪)
* @param a
* @param i
* @param j
*/
private static void dfs(int[][] a, int i, int j, int steps) {
if ( i &l