【动态规划】【爬楼梯问题】931. 下降路径最小和
作者:互联网
爬台阶题型汇总
- 【70. 爬楼梯】
- 【62. 不同路径】
- 【63. 不同路径II】
- 【91. 解码问题】
class Solution
{
public int minFallingPathSum( int[][] matrix )
{
int n = matrix.length;
int[][] dp = new int[n][n];
//对于第一行来说,每个坐标的值就是他的最小值
for(int i =0; i<n;i++)
{
dp[0][i] = matrix[0][i];
}
for(int i =1;i<n;i++)
{
for(int j=0;j<n;j++)
{
int val = matrix[i][j];
dp[i][j] = dp[i-1][j]+val;
if(j-1>=0)
{
dp[i][j]=Math.min(dp[i][j],dp[i-1][j-1]+val);
}
if(j+1<n)
{
dp[i][j]=Math.min(dp[i][j],dp[i-1][j+1]+val);
}
}
}
int ans =Integer.MAX_VALUE;
// 遍历最后一行,找到最小的
for(int i =0 ;i<n;i++)
{
ans = Math.min(ans,dp[n-1][i]);
}
return ans;
}
}
标签:爬楼梯,matrix,int,路径,62,931,dp 来源: https://www.cnblogs.com/coderpeng/p/16191513.html