题解 | 矩阵的最小路径和
矩阵的最小路径和
https://www.nowcoder.com/practice/7d21b6be4c6b429bb92d219341c4f8bb
package main
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param matrix int整型二维数组 the matrix
* @return int整型
*/
func minPathSum( matrix [][]int ) int {
// write code here
m, n := len(matrix), len(matrix[0])
var dp = make([][]int, m)
for i:=0; i<m; i++{
dp[i] = make([]int, n)
}
for i:=0;i<m;i++{
for j:=0;j<n;j++{
if i == 0 && j == 0{
dp[i][j] = matrix[i][j]
} else if i == 0 && j != 0{
dp[i][j] = dp[i][j-1] + matrix[i][j]
} else if i != 0 && j == 0{
dp[i][j] = dp[i-1][j] + matrix[i][j]
} else{
dp[i][j] = min(dp[i][j-1], dp[i-1][j]) + matrix[i][j]
}
}
}
return dp[m-1][n-1]
}
func min(a, b int) int{
if a < b{
return a
}
return b
}
查看16道真题和解析