//
// Created by Mr.Hu on 2018/11/6.
//
// leetcode 931 minimum falling path sum
//
// 题目给定一个方阵,从方阵中的每一行选出一个树进行累加,要求最后的结构最小。而每次选择的列,与上一行选择的列最多相差一个单位。
//
// 本题是一道动态规划(dynamic programming)的题目,不难发现,每次选择下一行的某一列是一个重复子问题,
// 即确定了当前所选择的列,即可确定接下来的三列,保留所有的中间结果,直到所有行都被选择。然后比较每种情况结果值,得到最终最小的和。
//
// 下面给出了一种递归方法,能够成功的解答该问题。但是递归调用相当耗时,所以当给定的方阵比较大时,会出现time limit exceeded情况。
//
// 看了一下题目给定的solution,原来可以直接在给定的方阵上进行操作,即用这样一个二维矩阵来保留状态,因此可以减少执行时间。
// 即下面的DP方法
//
1 |
|