下降路径最小和
- 题目描述
- 算法分析
- 编程代码
链接: 下降路径最小和
题目描述
算法分析
编程代码
class Solution {
public:
int minFallingPathSum(vector<vector<int>>& matrix) {
int n = matrix.size();
vector<vector<int>> dp(n+1,vector(n+2,INT_MAX));
for(int i = 0;i< n+2;++i)
{
dp[0][i] = 0;
}
for(int i = 1;i <= n;++i)
{
for(int j = 1;j <= n;++j)
{
dp[i][j] = min(dp[i-1][j-1],min(dp[i-1][j],dp[i-1][j+1])) + matrix[i-1][j-1];
}
}
int ret = INT_MAX;
for(int i = 1;i <= n;++i)
{
ret = min(ret,dp[n][i]);
}
return ret;
}
};