From a8c624fa5a2d3dd3eb49ff5c85ba670984e5aae8 Mon Sep 17 00:00:00 2001 From: krahets Date: Sat, 14 Oct 2023 03:25:11 +0800 Subject: [PATCH] Fix the code in min_path_sum --- codes/c/chapter_dynamic_programming/min_path_sum.c | 8 ++++---- codes/cpp/chapter_dynamic_programming/min_path_sum.cpp | 8 ++++---- codes/csharp/chapter_dynamic_programming/min_path_sum.cs | 8 ++++---- codes/dart/chapter_dynamic_programming/min_path_sum.dart | 8 ++++---- codes/go/chapter_dynamic_programming/min_path_sum.go | 8 ++++---- codes/java/chapter_dynamic_programming/min_path_sum.java | 8 ++++---- .../chapter_dynamic_programming/min_path_sum.js | 8 ++++---- codes/python/chapter_dynamic_programming/min_path_sum.py | 8 ++++---- codes/rust/chapter_dynamic_programming/min_path_sum.rs | 8 ++++---- .../swift/chapter_dynamic_programming/min_path_sum.swift | 8 ++++---- .../chapter_dynamic_programming/min_path_sum.ts | 8 ++++---- codes/zig/chapter_dynamic_programming/min_path_sum.zig | 8 ++++---- 12 files changed, 48 insertions(+), 48 deletions(-) diff --git a/codes/c/chapter_dynamic_programming/min_path_sum.c b/codes/c/chapter_dynamic_programming/min_path_sum.c index 4a6526b93..bbc604fc9 100644 --- a/codes/c/chapter_dynamic_programming/min_path_sum.c +++ b/codes/c/chapter_dynamic_programming/min_path_sum.c @@ -22,8 +22,8 @@ int minPathSumDFS(int gridCols, int grid[][gridCols], int i, int j) { return INT_MAX; } // 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价 - int left = minPathSumDFS(gridCols, grid, i - 1, j); - int up = minPathSumDFS(gridCols, grid, i, j - 1); + int up = minPathSumDFS(gridCols, grid, i - 1, j); + int left = minPathSumDFS(gridCols, grid, i, j - 1); // 返回从左上角到 (i, j) 的最小路径代价 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]; } // 左边和上边单元格的最小路径代价 - int left = minPathSumDFSMem(gridCols, grid, mem, i - 1, j); - int up = minPathSumDFSMem(gridCols, grid, mem, i, j - 1); + int up = minPathSumDFSMem(gridCols, grid, mem, i - 1, j); + int left = minPathSumDFSMem(gridCols, 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]; diff --git a/codes/cpp/chapter_dynamic_programming/min_path_sum.cpp b/codes/cpp/chapter_dynamic_programming/min_path_sum.cpp index c62f15484..f31f8fa34 100644 --- a/codes/cpp/chapter_dynamic_programming/min_path_sum.cpp +++ b/codes/cpp/chapter_dynamic_programming/min_path_sum.cpp @@ -17,8 +17,8 @@ int minPathSumDFS(vector> &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> &grid, vector> &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]; diff --git a/codes/csharp/chapter_dynamic_programming/min_path_sum.cs b/codes/csharp/chapter_dynamic_programming/min_path_sum.cs index 97ac1cda8..a99c5592a 100644 --- a/codes/csharp/chapter_dynamic_programming/min_path_sum.cs +++ b/codes/csharp/chapter_dynamic_programming/min_path_sum.cs @@ -18,8 +18,8 @@ public class min_path_sum { return int.MaxValue; } // 计算从左上角到 (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 Math.Min(left, up) + grid[i][j]; } @@ -39,8 +39,8 @@ public class min_path_sum { 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] = Math.Min(left, up) + grid[i][j]; return mem[i][j]; diff --git a/codes/dart/chapter_dynamic_programming/min_path_sum.dart b/codes/dart/chapter_dynamic_programming/min_path_sum.dart index fb1cac021..484a431fc 100644 --- a/codes/dart/chapter_dynamic_programming/min_path_sum.dart +++ b/codes/dart/chapter_dynamic_programming/min_path_sum.dart @@ -18,8 +18,8 @@ int minPathSumDFS(List> grid, int i, int j) { return BigInt.from(2).pow(31).toInt(); } // 计算从左上角到 (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) + grid[i][j]; } @@ -40,8 +40,8 @@ int minPathSumDFSMem(List> grid, List> mem, int i, int j) { 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) + grid[i][j]; return mem[i][j]; diff --git a/codes/go/chapter_dynamic_programming/min_path_sum.go b/codes/go/chapter_dynamic_programming/min_path_sum.go index c847b9a09..e8cfa8876 100644 --- a/codes/go/chapter_dynamic_programming/min_path_sum.go +++ b/codes/go/chapter_dynamic_programming/min_path_sum.go @@ -17,8 +17,8 @@ func minPathSumDFS(grid [][]int, i, j int) int { return math.MaxInt } // 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价 - left := minPathSumDFS(grid, i-1, j) - up := minPathSumDFS(grid, i, j-1) + up := minPathSumDFS(grid, i-1, j) + left := minPathSumDFS(grid, i, j-1) // 返回从左上角到 (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] } // 左边和上边单元格的最小路径代价 - left := minPathSumDFSMem(grid, mem, i-1, j) - up := minPathSumDFSMem(grid, mem, i, j-1) + up := minPathSumDFSMem(grid, mem, i-1, j) + left := minPathSumDFSMem(grid, mem, i, j-1) // 记录并返回左上角到 (i, j) 的最小路径代价 mem[i][j] = int(math.Min(float64(left), float64(up))) + grid[i][j] return mem[i][j] diff --git a/codes/java/chapter_dynamic_programming/min_path_sum.java b/codes/java/chapter_dynamic_programming/min_path_sum.java index d8bc9923f..7b6645b85 100644 --- a/codes/java/chapter_dynamic_programming/min_path_sum.java +++ b/codes/java/chapter_dynamic_programming/min_path_sum.java @@ -20,8 +20,8 @@ public class min_path_sum { return Integer.MAX_VALUE; } // 计算从左上角到 (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 Math.min(left, up) + grid[i][j]; } @@ -41,8 +41,8 @@ public class min_path_sum { 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] = Math.min(left, up) + grid[i][j]; return mem[i][j]; diff --git a/codes/javascript/chapter_dynamic_programming/min_path_sum.js b/codes/javascript/chapter_dynamic_programming/min_path_sum.js index b130ebc8c..d3bc6e858 100644 --- a/codes/javascript/chapter_dynamic_programming/min_path_sum.js +++ b/codes/javascript/chapter_dynamic_programming/min_path_sum.js @@ -15,8 +15,8 @@ function minPathSumDFS(grid, i, j) { return Infinity; } // 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价 - const left = minPathSumDFS(grid, i - 1, j); - const up = minPathSumDFS(grid, i, j - 1); + const up = minPathSumDFS(grid, i - 1, j); + const left = minPathSumDFS(grid, i, j - 1); // 返回从左上角到 (i, j) 的最小路径代价 return Math.min(left, up) + grid[i][j]; } @@ -36,8 +36,8 @@ function minPathSumDFSMem(grid, mem, i, j) { return mem[i][j]; } // 左边和上边单元格的最小路径代价 - const left = minPathSumDFSMem(grid, mem, i - 1, j); - const up = minPathSumDFSMem(grid, mem, i, j - 1); + const up = minPathSumDFSMem(grid, mem, i - 1, j); + const left = minPathSumDFSMem(grid, mem, i, j - 1); // 记录并返回左上角到 (i, j) 的最小路径代价 mem[i][j] = Math.min(left, up) + grid[i][j]; return mem[i][j]; diff --git a/codes/python/chapter_dynamic_programming/min_path_sum.py b/codes/python/chapter_dynamic_programming/min_path_sum.py index 25e86f85e..5b5cae4b2 100644 --- a/codes/python/chapter_dynamic_programming/min_path_sum.py +++ b/codes/python/chapter_dynamic_programming/min_path_sum.py @@ -16,8 +16,8 @@ def min_path_sum_dfs(grid: list[list[int]], i: int, j: int) -> int: if i < 0 or j < 0: return inf # 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价 - left = min_path_sum_dfs(grid, i - 1, j) - up = min_path_sum_dfs(grid, i, j - 1) + up = min_path_sum_dfs(grid, i - 1, j) + left = min_path_sum_dfs(grid, i, j - 1) # 返回从左上角到 (i, j) 的最小路径代价 return min(left, up) + grid[i][j] @@ -36,8 +36,8 @@ def min_path_sum_dfs_mem( if mem[i][j] != -1: return mem[i][j] # 左边和上边单元格的最小路径代价 - left = min_path_sum_dfs_mem(grid, mem, i - 1, j) - up = min_path_sum_dfs_mem(grid, mem, i, j - 1) + up = min_path_sum_dfs_mem(grid, mem, i - 1, j) + left = min_path_sum_dfs_mem(grid, mem, i, j - 1) # 记录并返回左上角到 (i, j) 的最小路径代价 mem[i][j] = min(left, up) + grid[i][j] return mem[i][j] diff --git a/codes/rust/chapter_dynamic_programming/min_path_sum.rs b/codes/rust/chapter_dynamic_programming/min_path_sum.rs index f3769e445..595f8d42e 100644 --- a/codes/rust/chapter_dynamic_programming/min_path_sum.rs +++ b/codes/rust/chapter_dynamic_programming/min_path_sum.rs @@ -15,8 +15,8 @@ fn min_path_sum_dfs(grid: &Vec>, i: i32, j: i32) -> i32 { return i32::MAX; } // 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价 - let left = min_path_sum_dfs(grid, i - 1, j); - let up = min_path_sum_dfs(grid, i, j - 1); + let up = min_path_sum_dfs(grid, i - 1, j); + let left = min_path_sum_dfs(grid, i, j - 1); // 返回从左上角到 (i, j) 的最小路径代价 std::cmp::min(left, up) + grid[i as usize][j as usize] } @@ -36,8 +36,8 @@ fn min_path_sum_dfs_mem(grid: &Vec>, mem: &mut Vec>, i: i32, j 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, j - 1); + let up = min_path_sum_dfs_mem(grid, mem, i - 1, j); + let left = min_path_sum_dfs_mem(grid, mem, i, j - 1); // 记录并返回左上角到 (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] diff --git a/codes/swift/chapter_dynamic_programming/min_path_sum.swift b/codes/swift/chapter_dynamic_programming/min_path_sum.swift index 5b1a3602c..26d8220fa 100644 --- a/codes/swift/chapter_dynamic_programming/min_path_sum.swift +++ b/codes/swift/chapter_dynamic_programming/min_path_sum.swift @@ -15,8 +15,8 @@ func minPathSumDFS(grid: [[Int]], i: Int, j: Int) -> Int { return .max } // 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价 - let left = minPathSumDFS(grid: grid, i: i - 1, j: j) - let up = minPathSumDFS(grid: grid, i: i, j: j - 1) + let up = minPathSumDFS(grid: grid, i: i - 1, j: j) + let left = minPathSumDFS(grid: grid, i: i, j: j - 1) // 返回从左上角到 (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] } // 左边和上边单元格的最小路径代价 - let left = minPathSumDFSMem(grid: grid, mem: &mem, i: i - 1, j: j) - let up = minPathSumDFSMem(grid: grid, mem: &mem, i: i, j: j - 1) + let up = minPathSumDFSMem(grid: grid, mem: &mem, i: i - 1, j: j) + let left = minPathSumDFSMem(grid: grid, mem: &mem, i: i, j: j - 1) // 记录并返回左上角到 (i, j) 的最小路径代价 mem[i][j] = min(left, up) + grid[i][j] return mem[i][j] diff --git a/codes/typescript/chapter_dynamic_programming/min_path_sum.ts b/codes/typescript/chapter_dynamic_programming/min_path_sum.ts index b0a08df2e..a3fa3e554 100644 --- a/codes/typescript/chapter_dynamic_programming/min_path_sum.ts +++ b/codes/typescript/chapter_dynamic_programming/min_path_sum.ts @@ -19,8 +19,8 @@ function minPathSumDFS( return Infinity; } // 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价 - const left = minPathSumDFS(grid, i - 1, j); - const up = minPathSumDFS(grid, i, j - 1); + const up = minPathSumDFS(grid, i - 1, j); + const left = minPathSumDFS(grid, i, j - 1); // 返回从左上角到 (i, j) 的最小路径代价 return Math.min(left, up) + grid[i][j]; } @@ -45,8 +45,8 @@ function minPathSumDFSMem( return mem[i][j]; } // 左边和上边单元格的最小路径代价 - const left = minPathSumDFSMem(grid, mem, i - 1, j); - const up = minPathSumDFSMem(grid, mem, i, j - 1); + const up = minPathSumDFSMem(grid, mem, i - 1, j); + const left = minPathSumDFSMem(grid, mem, i, j - 1); // 记录并返回左上角到 (i, j) 的最小路径代价 mem[i][j] = Math.min(left, up) + grid[i][j]; return mem[i][j]; diff --git a/codes/zig/chapter_dynamic_programming/min_path_sum.zig b/codes/zig/chapter_dynamic_programming/min_path_sum.zig index 81e67cbf7..f5d51a115 100644 --- a/codes/zig/chapter_dynamic_programming/min_path_sum.zig +++ b/codes/zig/chapter_dynamic_programming/min_path_sum.zig @@ -15,8 +15,8 @@ fn minPathSumDFS(grid: anytype, i: i32, j: i32) i32 { return std.math.maxInt(i32); } // 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价 - var left = minPathSumDFS(grid, i - 1, j); - var up = minPathSumDFS(grid, i, j - 1); + var up = minPathSumDFS(grid, i - 1, j); + var left = minPathSumDFS(grid, i, j - 1); // 返回从左上角到 (i, 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))]; } // 计算从左上角到 (i-1, j) 和 (i, j-1) 的最小路径代价 - var left = minPathSumDFSMem(grid, mem, i - 1, j); - var up = minPathSumDFSMem(grid, mem, i, j - 1); + var up = minPathSumDFSMem(grid, mem, i - 1, j); + var left = minPathSumDFSMem(grid, mem, i, j - 1); // 返回从左上角到 (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))];