一、思路: 用一个矩阵dp来保存走到每个格子的时候,当前格子累计的礼物的最小体积,dp的大小和格子的大小一致,也是N*M的矩阵。 二、图示: 三、详细流程: 1、dp第0行和第0列的初始化; 2、dp的更新,注意题目中要求只能想右、下、右下角走。所以dp[i][j]是它的左上角、上、左,三个值中最小的一个,再加上当前格子的礼物体积: dp[i][j] = min(dp[i-1][j-1], dp[i][j-1], dp[i-1][j])) + ...