【LeetCode】下降路径最小和

下降路径最小和

      • 题目描述
      • 算法分析
      • 编程代码

链接: 下降路径最小和

题目描述

【LeetCode】下降路径最小和_第1张图片

算法分析

【LeetCode】下降路径最小和_第2张图片

编程代码

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;
    }
};

【LeetCode】下降路径最小和_第3张图片

你可能感兴趣的:(leetcode,leetcode)