mirror of
https://github.com/krahets/hello-algo.git
synced 2025-02-02 22:43:50 +08:00
Fix the code in min_path_sum
This commit is contained in:
parent
3df5c36370
commit
a8c624fa5a
@ -22,8 +22,8 @@ int minPathSumDFS(int gridCols, int grid[][gridCols], int i, int j) {
|
|||||||
return INT_MAX;
|
return INT_MAX;
|
||||||
}
|
}
|
||||||
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
||||||
int left = minPathSumDFS(gridCols, grid, i - 1, j);
|
int up = minPathSumDFS(gridCols, grid, i - 1, j);
|
||||||
int up = minPathSumDFS(gridCols, grid, i, j - 1);
|
int left = minPathSumDFS(gridCols, grid, i, j - 1);
|
||||||
// 返回从左上角到 (i, j) 的最小路径代价
|
// 返回从左上角到 (i, j) 的最小路径代价
|
||||||
return min(left, up) != INT_MAX ? min(left, up) + grid[i][j] : INT_MAX;
|
return min(left, up) != INT_MAX ? min(left, up) + grid[i][j] : INT_MAX;
|
||||||
}
|
}
|
||||||
@ -43,8 +43,8 @@ int minPathSumDFSMem(int gridCols, int grid[][gridCols], int mem[][gridCols], in
|
|||||||
return mem[i][j];
|
return mem[i][j];
|
||||||
}
|
}
|
||||||
// 左边和上边单元格的最小路径代价
|
// 左边和上边单元格的最小路径代价
|
||||||
int left = minPathSumDFSMem(gridCols, grid, mem, i - 1, j);
|
int up = minPathSumDFSMem(gridCols, grid, mem, i - 1, j);
|
||||||
int up = minPathSumDFSMem(gridCols, grid, mem, i, j - 1);
|
int left = minPathSumDFSMem(gridCols, grid, mem, i, j - 1);
|
||||||
// 记录并返回左上角到 (i, j) 的最小路径代价
|
// 记录并返回左上角到 (i, j) 的最小路径代价
|
||||||
mem[i][j] = min(left, up) != INT_MAX ? min(left, up) + grid[i][j] : INT_MAX;
|
mem[i][j] = min(left, up) != INT_MAX ? min(left, up) + grid[i][j] : INT_MAX;
|
||||||
return mem[i][j];
|
return mem[i][j];
|
||||||
|
@ -17,8 +17,8 @@ int minPathSumDFS(vector<vector<int>> &grid, int i, int j) {
|
|||||||
return INT_MAX;
|
return INT_MAX;
|
||||||
}
|
}
|
||||||
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
||||||
int left = minPathSumDFS(grid, i - 1, j);
|
int up = minPathSumDFS(grid, i - 1, j);
|
||||||
int up = minPathSumDFS(grid, i, j - 1);
|
int left = minPathSumDFS(grid, i, j - 1);
|
||||||
// 返回从左上角到 (i, j) 的最小路径代价
|
// 返回从左上角到 (i, j) 的最小路径代价
|
||||||
return min(left, up) != INT_MAX ? min(left, up) + grid[i][j] : INT_MAX;
|
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];
|
return mem[i][j];
|
||||||
}
|
}
|
||||||
// 左边和上边单元格的最小路径代价
|
// 左边和上边单元格的最小路径代价
|
||||||
int left = minPathSumDFSMem(grid, mem, i - 1, j);
|
int up = minPathSumDFSMem(grid, mem, i - 1, j);
|
||||||
int up = minPathSumDFSMem(grid, mem, i, j - 1);
|
int left = minPathSumDFSMem(grid, mem, i, j - 1);
|
||||||
// 记录并返回左上角到 (i, j) 的最小路径代价
|
// 记录并返回左上角到 (i, j) 的最小路径代价
|
||||||
mem[i][j] = min(left, up) != INT_MAX ? min(left, up) + grid[i][j] : INT_MAX;
|
mem[i][j] = min(left, up) != INT_MAX ? min(left, up) + grid[i][j] : INT_MAX;
|
||||||
return mem[i][j];
|
return mem[i][j];
|
||||||
|
@ -18,8 +18,8 @@ public class min_path_sum {
|
|||||||
return int.MaxValue;
|
return int.MaxValue;
|
||||||
}
|
}
|
||||||
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
||||||
int left = MinPathSumDFS(grid, i - 1, j);
|
int up = MinPathSumDFS(grid, i - 1, j);
|
||||||
int up = MinPathSumDFS(grid, i, j - 1);
|
int left = MinPathSumDFS(grid, i, j - 1);
|
||||||
// 返回从左上角到 (i, j) 的最小路径代价
|
// 返回从左上角到 (i, j) 的最小路径代价
|
||||||
return Math.Min(left, up) + grid[i][j];
|
return Math.Min(left, up) + grid[i][j];
|
||||||
}
|
}
|
||||||
@ -39,8 +39,8 @@ public class min_path_sum {
|
|||||||
return mem[i][j];
|
return mem[i][j];
|
||||||
}
|
}
|
||||||
// 左边和上边单元格的最小路径代价
|
// 左边和上边单元格的最小路径代价
|
||||||
int left = MinPathSumDFSMem(grid, mem, i - 1, j);
|
int up = MinPathSumDFSMem(grid, mem, i - 1, j);
|
||||||
int up = MinPathSumDFSMem(grid, mem, i, j - 1);
|
int left = MinPathSumDFSMem(grid, mem, i, j - 1);
|
||||||
// 记录并返回左上角到 (i, j) 的最小路径代价
|
// 记录并返回左上角到 (i, j) 的最小路径代价
|
||||||
mem[i][j] = Math.Min(left, up) + grid[i][j];
|
mem[i][j] = Math.Min(left, up) + grid[i][j];
|
||||||
return mem[i][j];
|
return mem[i][j];
|
||||||
|
@ -18,8 +18,8 @@ int minPathSumDFS(List<List<int>> grid, int i, int j) {
|
|||||||
return BigInt.from(2).pow(31).toInt();
|
return BigInt.from(2).pow(31).toInt();
|
||||||
}
|
}
|
||||||
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
||||||
int left = minPathSumDFS(grid, i - 1, j);
|
int up = minPathSumDFS(grid, i - 1, j);
|
||||||
int up = minPathSumDFS(grid, i, j - 1);
|
int left = minPathSumDFS(grid, i, j - 1);
|
||||||
// 返回从左上角到 (i, j) 的最小路径代价
|
// 返回从左上角到 (i, j) 的最小路径代价
|
||||||
return min(left, up) + grid[i][j];
|
return min(left, up) + grid[i][j];
|
||||||
}
|
}
|
||||||
@ -40,8 +40,8 @@ int minPathSumDFSMem(List<List<int>> grid, List<List<int>> mem, int i, int j) {
|
|||||||
return mem[i][j];
|
return mem[i][j];
|
||||||
}
|
}
|
||||||
// 左边和上边单元格的最小路径代价
|
// 左边和上边单元格的最小路径代价
|
||||||
int left = minPathSumDFSMem(grid, mem, i - 1, j);
|
int up = minPathSumDFSMem(grid, mem, i - 1, j);
|
||||||
int up = minPathSumDFSMem(grid, mem, i, j - 1);
|
int left = minPathSumDFSMem(grid, mem, i, j - 1);
|
||||||
// 记录并返回左上角到 (i, j) 的最小路径代价
|
// 记录并返回左上角到 (i, j) 的最小路径代价
|
||||||
mem[i][j] = min(left, up) + grid[i][j];
|
mem[i][j] = min(left, up) + grid[i][j];
|
||||||
return mem[i][j];
|
return mem[i][j];
|
||||||
|
@ -17,8 +17,8 @@ func minPathSumDFS(grid [][]int, i, j int) int {
|
|||||||
return math.MaxInt
|
return math.MaxInt
|
||||||
}
|
}
|
||||||
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
||||||
left := minPathSumDFS(grid, i-1, j)
|
up := minPathSumDFS(grid, i-1, j)
|
||||||
up := minPathSumDFS(grid, i, j-1)
|
left := minPathSumDFS(grid, i, j-1)
|
||||||
// 返回从左上角到 (i, j) 的最小路径代价
|
// 返回从左上角到 (i, j) 的最小路径代价
|
||||||
return int(math.Min(float64(left), float64(up))) + grid[i][j]
|
return int(math.Min(float64(left), float64(up))) + grid[i][j]
|
||||||
}
|
}
|
||||||
@ -38,8 +38,8 @@ func minPathSumDFSMem(grid, mem [][]int, i, j int) int {
|
|||||||
return mem[i][j]
|
return mem[i][j]
|
||||||
}
|
}
|
||||||
// 左边和上边单元格的最小路径代价
|
// 左边和上边单元格的最小路径代价
|
||||||
left := minPathSumDFSMem(grid, mem, i-1, j)
|
up := minPathSumDFSMem(grid, mem, i-1, j)
|
||||||
up := minPathSumDFSMem(grid, mem, i, j-1)
|
left := minPathSumDFSMem(grid, mem, i, j-1)
|
||||||
// 记录并返回左上角到 (i, j) 的最小路径代价
|
// 记录并返回左上角到 (i, j) 的最小路径代价
|
||||||
mem[i][j] = int(math.Min(float64(left), float64(up))) + grid[i][j]
|
mem[i][j] = int(math.Min(float64(left), float64(up))) + grid[i][j]
|
||||||
return mem[i][j]
|
return mem[i][j]
|
||||||
|
@ -20,8 +20,8 @@ public class min_path_sum {
|
|||||||
return Integer.MAX_VALUE;
|
return Integer.MAX_VALUE;
|
||||||
}
|
}
|
||||||
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
||||||
int left = minPathSumDFS(grid, i - 1, j);
|
int up = minPathSumDFS(grid, i - 1, j);
|
||||||
int up = minPathSumDFS(grid, i, j - 1);
|
int left = minPathSumDFS(grid, i, j - 1);
|
||||||
// 返回从左上角到 (i, j) 的最小路径代价
|
// 返回从左上角到 (i, j) 的最小路径代价
|
||||||
return Math.min(left, up) + grid[i][j];
|
return Math.min(left, up) + grid[i][j];
|
||||||
}
|
}
|
||||||
@ -41,8 +41,8 @@ public class min_path_sum {
|
|||||||
return mem[i][j];
|
return mem[i][j];
|
||||||
}
|
}
|
||||||
// 左边和上边单元格的最小路径代价
|
// 左边和上边单元格的最小路径代价
|
||||||
int left = minPathSumDFSMem(grid, mem, i - 1, j);
|
int up = minPathSumDFSMem(grid, mem, i - 1, j);
|
||||||
int up = minPathSumDFSMem(grid, mem, i, j - 1);
|
int left = minPathSumDFSMem(grid, mem, i, j - 1);
|
||||||
// 记录并返回左上角到 (i, j) 的最小路径代价
|
// 记录并返回左上角到 (i, j) 的最小路径代价
|
||||||
mem[i][j] = Math.min(left, up) + grid[i][j];
|
mem[i][j] = Math.min(left, up) + grid[i][j];
|
||||||
return mem[i][j];
|
return mem[i][j];
|
||||||
|
@ -15,8 +15,8 @@ function minPathSumDFS(grid, i, j) {
|
|||||||
return Infinity;
|
return Infinity;
|
||||||
}
|
}
|
||||||
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
||||||
const left = minPathSumDFS(grid, i - 1, j);
|
const up = minPathSumDFS(grid, i - 1, j);
|
||||||
const up = minPathSumDFS(grid, i, j - 1);
|
const left = minPathSumDFS(grid, i, j - 1);
|
||||||
// 返回从左上角到 (i, j) 的最小路径代价
|
// 返回从左上角到 (i, j) 的最小路径代价
|
||||||
return Math.min(left, up) + grid[i][j];
|
return Math.min(left, up) + grid[i][j];
|
||||||
}
|
}
|
||||||
@ -36,8 +36,8 @@ function minPathSumDFSMem(grid, mem, i, j) {
|
|||||||
return mem[i][j];
|
return mem[i][j];
|
||||||
}
|
}
|
||||||
// 左边和上边单元格的最小路径代价
|
// 左边和上边单元格的最小路径代价
|
||||||
const left = minPathSumDFSMem(grid, mem, i - 1, j);
|
const up = minPathSumDFSMem(grid, mem, i - 1, j);
|
||||||
const up = minPathSumDFSMem(grid, mem, i, j - 1);
|
const left = minPathSumDFSMem(grid, mem, i, j - 1);
|
||||||
// 记录并返回左上角到 (i, j) 的最小路径代价
|
// 记录并返回左上角到 (i, j) 的最小路径代价
|
||||||
mem[i][j] = Math.min(left, up) + grid[i][j];
|
mem[i][j] = Math.min(left, up) + grid[i][j];
|
||||||
return mem[i][j];
|
return mem[i][j];
|
||||||
|
@ -16,8 +16,8 @@ def min_path_sum_dfs(grid: list[list[int]], i: int, j: int) -> int:
|
|||||||
if i < 0 or j < 0:
|
if i < 0 or j < 0:
|
||||||
return inf
|
return inf
|
||||||
# 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
# 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
||||||
left = min_path_sum_dfs(grid, i - 1, j)
|
up = min_path_sum_dfs(grid, i - 1, j)
|
||||||
up = min_path_sum_dfs(grid, i, j - 1)
|
left = min_path_sum_dfs(grid, i, j - 1)
|
||||||
# 返回从左上角到 (i, j) 的最小路径代价
|
# 返回从左上角到 (i, j) 的最小路径代价
|
||||||
return min(left, up) + grid[i][j]
|
return min(left, up) + grid[i][j]
|
||||||
|
|
||||||
@ -36,8 +36,8 @@ def min_path_sum_dfs_mem(
|
|||||||
if mem[i][j] != -1:
|
if mem[i][j] != -1:
|
||||||
return mem[i][j]
|
return mem[i][j]
|
||||||
# 左边和上边单元格的最小路径代价
|
# 左边和上边单元格的最小路径代价
|
||||||
left = min_path_sum_dfs_mem(grid, mem, i - 1, j)
|
up = min_path_sum_dfs_mem(grid, mem, i - 1, j)
|
||||||
up = min_path_sum_dfs_mem(grid, mem, i, j - 1)
|
left = min_path_sum_dfs_mem(grid, mem, i, j - 1)
|
||||||
# 记录并返回左上角到 (i, j) 的最小路径代价
|
# 记录并返回左上角到 (i, j) 的最小路径代价
|
||||||
mem[i][j] = min(left, up) + grid[i][j]
|
mem[i][j] = min(left, up) + grid[i][j]
|
||||||
return mem[i][j]
|
return mem[i][j]
|
||||||
|
@ -15,8 +15,8 @@ fn min_path_sum_dfs(grid: &Vec<Vec<i32>>, i: i32, j: i32) -> i32 {
|
|||||||
return i32::MAX;
|
return i32::MAX;
|
||||||
}
|
}
|
||||||
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
||||||
let left = min_path_sum_dfs(grid, i - 1, j);
|
let up = min_path_sum_dfs(grid, i - 1, j);
|
||||||
let up = min_path_sum_dfs(grid, i, j - 1);
|
let left = min_path_sum_dfs(grid, i, j - 1);
|
||||||
// 返回从左上角到 (i, j) 的最小路径代价
|
// 返回从左上角到 (i, j) 的最小路径代价
|
||||||
std::cmp::min(left, up) + grid[i as usize][j as usize]
|
std::cmp::min(left, up) + grid[i as usize][j as usize]
|
||||||
}
|
}
|
||||||
@ -36,8 +36,8 @@ fn min_path_sum_dfs_mem(grid: &Vec<Vec<i32>>, mem: &mut Vec<Vec<i32>>, i: i32, j
|
|||||||
return mem[i as usize][j as usize];
|
return mem[i as usize][j as usize];
|
||||||
}
|
}
|
||||||
// 左边和上边单元格的最小路径代价
|
// 左边和上边单元格的最小路径代价
|
||||||
let left = min_path_sum_dfs_mem(grid, mem, i - 1, j);
|
let up = min_path_sum_dfs_mem(grid, mem, i - 1, j);
|
||||||
let up = min_path_sum_dfs_mem(grid, mem, i, j - 1);
|
let left = min_path_sum_dfs_mem(grid, mem, i, j - 1);
|
||||||
// 记录并返回左上角到 (i, j) 的最小路径代价
|
// 记录并返回左上角到 (i, j) 的最小路径代价
|
||||||
mem[i as usize][j as usize] = std::cmp::min(left, up) + grid[i as usize][j as usize];
|
mem[i as usize][j as usize] = std::cmp::min(left, up) + grid[i as usize][j as usize];
|
||||||
mem[i as usize][j as usize]
|
mem[i as usize][j as usize]
|
||||||
|
@ -15,8 +15,8 @@ func minPathSumDFS(grid: [[Int]], i: Int, j: Int) -> Int {
|
|||||||
return .max
|
return .max
|
||||||
}
|
}
|
||||||
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
||||||
let left = minPathSumDFS(grid: grid, i: i - 1, j: j)
|
let up = minPathSumDFS(grid: grid, i: i - 1, j: j)
|
||||||
let up = minPathSumDFS(grid: grid, i: i, j: j - 1)
|
let left = minPathSumDFS(grid: grid, i: i, j: j - 1)
|
||||||
// 返回从左上角到 (i, j) 的最小路径代价
|
// 返回从左上角到 (i, j) 的最小路径代价
|
||||||
return min(left, up) + grid[i][j]
|
return min(left, up) + grid[i][j]
|
||||||
}
|
}
|
||||||
@ -36,8 +36,8 @@ func minPathSumDFSMem(grid: [[Int]], mem: inout [[Int]], i: Int, j: Int) -> Int
|
|||||||
return mem[i][j]
|
return mem[i][j]
|
||||||
}
|
}
|
||||||
// 左边和上边单元格的最小路径代价
|
// 左边和上边单元格的最小路径代价
|
||||||
let left = minPathSumDFSMem(grid: grid, mem: &mem, i: i - 1, j: j)
|
let up = minPathSumDFSMem(grid: grid, mem: &mem, i: i - 1, j: j)
|
||||||
let up = minPathSumDFSMem(grid: grid, mem: &mem, i: i, j: j - 1)
|
let left = minPathSumDFSMem(grid: grid, mem: &mem, i: i, j: j - 1)
|
||||||
// 记录并返回左上角到 (i, j) 的最小路径代价
|
// 记录并返回左上角到 (i, j) 的最小路径代价
|
||||||
mem[i][j] = min(left, up) + grid[i][j]
|
mem[i][j] = min(left, up) + grid[i][j]
|
||||||
return mem[i][j]
|
return mem[i][j]
|
||||||
|
@ -19,8 +19,8 @@ function minPathSumDFS(
|
|||||||
return Infinity;
|
return Infinity;
|
||||||
}
|
}
|
||||||
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
||||||
const left = minPathSumDFS(grid, i - 1, j);
|
const up = minPathSumDFS(grid, i - 1, j);
|
||||||
const up = minPathSumDFS(grid, i, j - 1);
|
const left = minPathSumDFS(grid, i, j - 1);
|
||||||
// 返回从左上角到 (i, j) 的最小路径代价
|
// 返回从左上角到 (i, j) 的最小路径代价
|
||||||
return Math.min(left, up) + grid[i][j];
|
return Math.min(left, up) + grid[i][j];
|
||||||
}
|
}
|
||||||
@ -45,8 +45,8 @@ function minPathSumDFSMem(
|
|||||||
return mem[i][j];
|
return mem[i][j];
|
||||||
}
|
}
|
||||||
// 左边和上边单元格的最小路径代价
|
// 左边和上边单元格的最小路径代价
|
||||||
const left = minPathSumDFSMem(grid, mem, i - 1, j);
|
const up = minPathSumDFSMem(grid, mem, i - 1, j);
|
||||||
const up = minPathSumDFSMem(grid, mem, i, j - 1);
|
const left = minPathSumDFSMem(grid, mem, i, j - 1);
|
||||||
// 记录并返回左上角到 (i, j) 的最小路径代价
|
// 记录并返回左上角到 (i, j) 的最小路径代价
|
||||||
mem[i][j] = Math.min(left, up) + grid[i][j];
|
mem[i][j] = Math.min(left, up) + grid[i][j];
|
||||||
return mem[i][j];
|
return mem[i][j];
|
||||||
|
@ -15,8 +15,8 @@ fn minPathSumDFS(grid: anytype, i: i32, j: i32) i32 {
|
|||||||
return std.math.maxInt(i32);
|
return std.math.maxInt(i32);
|
||||||
}
|
}
|
||||||
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
||||||
var left = minPathSumDFS(grid, i - 1, j);
|
var up = minPathSumDFS(grid, i - 1, j);
|
||||||
var up = minPathSumDFS(grid, i, j - 1);
|
var left = minPathSumDFS(grid, i, j - 1);
|
||||||
// 返回从左上角到 (i, j) 的最小路径代价
|
// 返回从左上角到 (i, j) 的最小路径代价
|
||||||
return @min(left, up) + grid[@as(usize, @intCast(i))][@as(usize, @intCast(j))];
|
return @min(left, up) + grid[@as(usize, @intCast(i))][@as(usize, @intCast(j))];
|
||||||
}
|
}
|
||||||
@ -36,8 +36,8 @@ fn minPathSumDFSMem(grid: anytype, mem: anytype, i: i32, j: i32) i32 {
|
|||||||
return mem[@as(usize, @intCast(i))][@as(usize, @intCast(j))];
|
return mem[@as(usize, @intCast(i))][@as(usize, @intCast(j))];
|
||||||
}
|
}
|
||||||
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
// 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价
|
||||||
var left = minPathSumDFSMem(grid, mem, i - 1, j);
|
var up = minPathSumDFSMem(grid, mem, i - 1, j);
|
||||||
var up = minPathSumDFSMem(grid, mem, i, j - 1);
|
var left = minPathSumDFSMem(grid, mem, i, j - 1);
|
||||||
// 返回从左上角到 (i, j) 的最小路径代价
|
// 返回从左上角到 (i, j) 的最小路径代价
|
||||||
// 记录并返回左上角到 (i, j) 的最小路径代价
|
// 记录并返回左上角到 (i, j) 的最小路径代价
|
||||||
mem[@as(usize, @intCast(i))][@as(usize, @intCast(j))] = @min(left, up) + grid[@as(usize, @intCast(i))][@as(usize, @intCast(j))];
|
mem[@as(usize, @intCast(i))][@as(usize, @intCast(j))] = @min(left, up) + grid[@as(usize, @intCast(i))][@as(usize, @intCast(j))];
|
||||||
|
Loading…
Reference in New Issue
Block a user