go解题答案
思路概括:动态规划
思路核心:
1、dp索引从0开始
2、第一行只能从左边走
3、第一列只能从右边走
4、其他行列可以从左边走和右边走func minPathSum( matrix [][]int ) int { row:=len(matrix) col:=len(matrix[0]) if row==0{ return 0 } dp:=make([][]int,row) //初始化行 for i:=0;i<row;i++{ dp[i]=make([]int,col) //初始化列 } dp[0][0]=matrix[0][0] //初始化原点 for i:=1;i<row;i++{ dp[i][0]=dp[i-1][0] + matrix[i][0] //i行0列计算 } for i:=1;i<col;i++{ dp[0][i]=dp[0][i-1] + matrix[0][i] //0行1列计算 } for i:=1;i<row;i++{ for j:=1;j<col;j++{ dp[i][j]=Min(dp[i-1][j],dp[i][j-1])+matrix[i][j]//其他行列计算 } } return dp[row-1][col-1] }
如果有帮助请点个赞哦, 更多文章请看我的博客
题主背景
从业8年——超级内卷500Q技术经理——目前专注go和微服务架构