题解 | 矩阵的最小路径和
矩阵的最小路径和
https://www.nowcoder.com/practice/7d21b6be4c6b429bb92d219341c4f8bb
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param matrix int整型vector<vector<>> the matrix * @return int整型 */ int minPathSum(vector<vector<int> >& matrix) { // write code here int len1 = matrix.size(), len2 = matrix[0].size(); vector<vector<int>>dp(len1, vector<int>(len2, 0)); dp[0][0] = matrix[0][0]; for(int i=1;i<len1;i++){ dp[i][0] = dp[i-1][0]+matrix[i][0]; } for(int i=1;i<len2;i++){ dp[0][i] = dp[0][i-1]+matrix[0][i]; } for(int i = 1;i<len1;i++){ for(int j=1;j<len2;j++){ dp[i][j] = min(dp[i][j-1], dp[i-1][j]) +matrix[i][j]; } } return dp[len1-1][len2-1]; } };
用动态规划的思想真的非常简单。