【发布时间】:2017-06-15 19:14:07
【问题描述】:
我正在尝试使用 golang 解决动态编程的最小路径和问题,下面是我的程序,它显示编译错误。
enter code here
func minPathSum(grid [][]int) int {
var dp[m+1][n+1] int
dp[0][0] = grid[0][0]
//for column initialization
for i := 0; i <= m; i++ {
dp[i][0] = dp[i-1][0] + grid[i][0]
}
//for row initialization
for j := 0; j <= n; j++ {
dp[0][j] = dp[0][j-1] + grid[0][j]
}
for i := 0; i <= m; i++ {
for j := 0; j <= n; j++ {
dp[i][j] = min(dp[i][j-1], dp[i-1][j], dp[i-1][j-1]) + grid[i][j]
}
}
return dp[m][n]
}
【问题讨论】:
-
能否请您包括控制台在出错时所说的内容。
-
您不能将
var dp[m][n] int与变量一起使用,如果您需要动态矩阵,您必须使用切片或使用常量值定义dp