Fix the code in min_path_sum

This commit is contained in:
krahets
2023-10-14 03:25:11 +08:00
parent 3df5c36370
commit a8c624fa5a
12 changed files with 48 additions and 48 deletions

View File

@@ -17,8 +17,8 @@ int minPathSumDFS(vector<vector<int>> &grid, int i, int j) {
return INT_MAX;
}
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
int left = minPathSumDFS(grid, i - 1, j);
int up = minPathSumDFS(grid, i, j - 1);
int up = minPathSumDFS(grid, i - 1, j);
int left = minPathSumDFS(grid, i, j - 1);
// 返回从左上角到 (i, j) 的最小路径代价
return min(left, up) != INT_MAX ? min(left, up) + grid[i][j] : INT_MAX;
}
@@ -38,8 +38,8 @@ int minPathSumDFSMem(vector<vector<int>> &grid, vector<vector<int>> &mem, int i,
return mem[i][j];
}
// 左边和上边单元格的最小路径代价
int left = minPathSumDFSMem(grid, mem, i - 1, j);
int up = minPathSumDFSMem(grid, mem, i, j - 1);
int up = minPathSumDFSMem(grid, mem, i - 1, j);
int left = minPathSumDFSMem(grid, mem, i, j - 1);
// 记录并返回左上角到 (i, j) 的最小路径代价
mem[i][j] = min(left, up) != INT_MAX ? min(left, up) + grid[i][j] : INT_MAX;
return mem[i][j];