算法标签 DP

题目简叙

[LeetCode]64. 最小路径和_状态转移

思路

典型DP
数值累加
状态转移方程如下:
当前位置所处的 行与列 处于为边界时候:

当前的值即为 自身本身

当前位置所处的 行 处于为边界时候:

当前的值即为 上方 的累加

当前位置所处的 列 处于为边界时候:

当前的值即为 左方 的累加

当都不属于的时候

当前的值即为 上方和左方最小值 的累加

代码

class Solution {
public:
int minPathSum(vector<vector<int>>& grid) {
for(int i=0;i<grid.size();i++)
for(int j=0;j<grid[0].size();j++)
if(i==0&&j==0)continue;
else if(i==0)grid[i][j]+=grid[i][j-1];
else if(j==0)grid[i][j]+=grid[i-1][j];
else grid[i][j]+=min(grid[i-1][j],grid[i][j-1]);
return grid[grid.size()-1][grid[0].size()-1];
}
};

AC记录

[LeetCode]64. 最小路径和_动态规划_02