本文主要是介绍【打卡】牛客网:BM68 矩阵的最小路径和,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
模板的:
调试很久的地方:
- 最小的路径和而不是最大路径和。
- dp[i][j] = matrix[i][j] + (dp[i-1][j] > dp[i][j-1]? dp[i][j-1]:dp[i-1][j]); //需要加上括号
- dp和matrix下标的对应。
class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param matrix int整型vector<vector<>> the matrix* @return int整型*/int minPathSum(vector<vector<int> >& matrix) {// write code hereint n = matrix.size();int m = matrix[0].size();vector<vector<int>> dp(n, vector<int> (m));dp[0][0] = matrix[0][0];for(int i = 1; i < n; i++){dp[i][0] = dp[i-1][0] + matrix[i][0];}for(int i = 1; i < m; i++){dp[0][i] = dp[0][i-1] + matrix[0][i];}for(int i = 1; i < n; i++){for(int j = 1; j < m; j++){dp[i][j] = matrix[i][j] + (dp[i-1][j] > dp[i][j-1]? dp[i][j-1]:dp[i-1][j]);}}return dp[n-1][m-1];}
};
这篇关于【打卡】牛客网:BM68 矩阵的最小路径和的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!