菜鸡第一次独立思考解决掉的问题。。。目前我对动态规划的理解,很多时候需要借助一个额外的存储空间(记忆空间)来解决,和刚开始学编程用一个flag变量来记录状态一样。 问题既然是求到最后一个位置的最小值,那么最后一个位置的值是怎么来的呢?按照动态规划的思想,必然是来自前一个记录位置的较小值加上最后一个位置的值,肯定是最小的,以此回推。由于移动的方向只能是向右和向下,最后一个位置最小,必然是从它的左边或者正上方那个较小的值而来。按照这种思路,第一个位置时,就是它本身。第一行都是是向右所得,第一列都是向下移动所得,从第2行和第2列开始,这里先求出来,直接从第2行和第2列开始,直到最后一个位置。这里求出...