矩阵的最小路径和
刚才刷算法题遇见这样一道题
给定一个 n * m 的矩阵 a,从左上角开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,输出所有的路径中最小的路径和。
示例
这题解题思路很是很清晰的:
1.首先新数组第一行和第一列的数据肯定是确定的,都是这个数据加上前面的数据的和(当前数据都是当前数据加上前一个数据,就是和)
2.其余的(从第二列第二个数据开始)后面的数据都是根据左边或者上方最小的部分加来的,这些节点都是当前值加上上方或者左方节点
public int minPathSum (int[][] matrix) {
// write code here
int m = matrix.length;
int n = matrix[0].length;
int[][] result = new int[m][n]; //创建一个一样的二维数组存放结果
result[0][0] = matrix[0][0]; //第一行第一列数字
//第一行的数据
for(int i = 1;i < n;i++){
result[0][i] = result[0][i-1] + matrix[0][i];
}
//第一列的数据
for(int i = 1;i < m;i++){
result[i][0] = result[i-1][0] + matrix[i][0];
}
//从第二行第二个的数据来源都是上方或者左方向,我们只需要计算他们和最小值求出
for(int i = 1;i < m;i++){
for(int j = 1;j < n;j++){
result[i][j] = matrix[i][j]+Math.min(result[i][j-1],result[i-1][j]);
}
}
return result[m-1][n-1];//二维数组最后一个数字就是最短距离
}
本文来自博客园,作者:Diamond-fz,转载请注明原文链接:https://www.cnblogs.com/fzstudy/p/14661916.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下