mirror of
https://github.com/krahets/hello-algo.git
synced 2025-12-19 07:17:54 +08:00
Fix a definition.
This commit is contained in:
@@ -22,7 +22,7 @@ fn climbingStairsDP(comptime n: usize) i32 {
|
||||
return dp[n];
|
||||
}
|
||||
|
||||
// 爬楼梯:状态压缩后的动态规划
|
||||
// 爬楼梯:空间优化后的动态规划
|
||||
fn climbingStairsDPComp(comptime n: usize) i32 {
|
||||
if (n == 1 or n == 2) {
|
||||
return @intCast(n);
|
||||
|
||||
@@ -33,7 +33,7 @@ fn coinChangeDP(comptime coins: []i32, comptime amt: usize) i32 {
|
||||
}
|
||||
}
|
||||
|
||||
// 零钱兑换:状态压缩后的动态规划
|
||||
// 零钱兑换:空间优化后的动态规划
|
||||
fn coinChangeDPComp(comptime coins: []i32, comptime amt: usize) i32 {
|
||||
comptime var n = coins.len;
|
||||
comptime var max = amt + 1;
|
||||
@@ -69,7 +69,7 @@ pub fn main() !void {
|
||||
var res = coinChangeDP(&coins, amt);
|
||||
std.debug.print("凑到目标金额所需的最少硬币数量为 {}\n", .{res});
|
||||
|
||||
// 状态压缩后的动态规划
|
||||
// 空间优化后的动态规划
|
||||
res = coinChangeDPComp(&coins, amt);
|
||||
std.debug.print("凑到目标金额所需的最少硬币数量为 {}\n", .{res});
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ fn coinChangeIIDP(comptime coins: []i32, comptime amt: usize) i32 {
|
||||
return dp[n][amt];
|
||||
}
|
||||
|
||||
// 零钱兑换 II:状态压缩后的动态规划
|
||||
// 零钱兑换 II:空间优化后的动态规划
|
||||
fn coinChangeIIDPComp(comptime coins: []i32, comptime amt: usize) i32 {
|
||||
comptime var n = coins.len;
|
||||
// 初始化 dp 表
|
||||
@@ -58,7 +58,7 @@ pub fn main() !void {
|
||||
var res = coinChangeIIDP(&coins, amt);
|
||||
std.debug.print("凑出目标金额的硬币组合数量为 {}\n", .{res});
|
||||
|
||||
// 状态压缩后的动态规划
|
||||
// 空间优化后的动态规划
|
||||
res = coinChangeIIDPComp(&coins, amt);
|
||||
std.debug.print("凑出目标金额的硬币组合数量为 {}\n", .{res});
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ fn editDistanceDP(comptime s: []const u8, comptime t: []const u8) i32 {
|
||||
return dp[n][m];
|
||||
}
|
||||
|
||||
// 编辑距离:状态压缩后的动态规划
|
||||
// 编辑距离:空间优化后的动态规划
|
||||
fn editDistanceDPComp(comptime s: []const u8, comptime t: []const u8) i32 {
|
||||
comptime var n = s.len;
|
||||
comptime var m = t.len;
|
||||
@@ -138,7 +138,7 @@ pub fn main() !void {
|
||||
res = editDistanceDP(s, t);
|
||||
std.debug.print("将 {s} 更改为 {s} 最少需要编辑 {} 步\n", .{ s, t, res });
|
||||
|
||||
// 状态压缩后的动态规划
|
||||
// 空间优化后的动态规划
|
||||
res = editDistanceDPComp(s, t);
|
||||
std.debug.print("将 {s} 更改为 {s} 最少需要编辑 {} 步\n", .{ s, t, res });
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ fn knapsackDP(comptime wgt: []i32, val: []i32, comptime cap: usize) i32 {
|
||||
return dp[n][cap];
|
||||
}
|
||||
|
||||
// 0-1 背包:状态压缩后的动态规划
|
||||
// 0-1 背包:空间优化后的动态规划
|
||||
fn knapsackDPComp(wgt: []i32, val: []i32, comptime cap: usize) i32 {
|
||||
var n = wgt.len;
|
||||
// 初始化 dp 表
|
||||
@@ -102,7 +102,7 @@ pub fn main() !void {
|
||||
res = knapsackDP(&wgt, &val, cap);
|
||||
std.debug.print("不超过背包容量的最大物品价值为 {}\n", .{res});
|
||||
|
||||
// 状态压缩后的动态规划
|
||||
// 空间优化后的动态规划
|
||||
res = knapsackDPComp(&wgt, &val, cap);
|
||||
std.debug.print("不超过背包容量的最大物品价值为 {}\n", .{res});
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ fn minCostClimbingStairsDP(comptime cost: []i32) i32 {
|
||||
return dp[n];
|
||||
}
|
||||
|
||||
// 爬楼梯最小代价:状态压缩后的动态规划
|
||||
// 爬楼梯最小代价:空间优化后的动态规划
|
||||
fn minCostClimbingStairsDPComp(cost: []i32) i32 {
|
||||
var n = cost.len - 1;
|
||||
if (n == 1 or n == 2) {
|
||||
|
||||
@@ -68,7 +68,7 @@ fn minPathSumDP(comptime grid: anytype) i32 {
|
||||
return dp[n - 1][m - 1];
|
||||
}
|
||||
|
||||
// 最小路径和:状态压缩后的动态规划
|
||||
// 最小路径和:空间优化后的动态规划
|
||||
fn minPathSumDPComp(comptime grid: anytype) i32 {
|
||||
comptime var n = grid.len;
|
||||
comptime var m = grid[0].len;
|
||||
@@ -114,7 +114,7 @@ pub fn main() !void {
|
||||
res = minPathSumDP(&grid);
|
||||
std.debug.print("从左上角到右下角的最小路径和为 {}\n", .{res});
|
||||
|
||||
// 状态压缩后的动态规划
|
||||
// 空间优化后的动态规划
|
||||
res = minPathSumDPComp(&grid);
|
||||
std.debug.print("从左上角到右下角的最小路径和为 {}\n", .{res});
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ fn unboundedKnapsackDP(comptime wgt: []i32, val: []i32, comptime cap: usize) i32
|
||||
return dp[n][cap];
|
||||
}
|
||||
|
||||
// 完全背包:状态压缩后的动态规划
|
||||
// 完全背包:空间优化后的动态规划
|
||||
fn unboundedKnapsackDPComp(comptime wgt: []i32, val: []i32, comptime cap: usize) i32 {
|
||||
comptime var n = wgt.len;
|
||||
// 初始化 dp 表
|
||||
@@ -54,7 +54,7 @@ pub fn main() !void {
|
||||
var res = unboundedKnapsackDP(&wgt, &val, cap);
|
||||
std.debug.print("不超过背包容量的最大物品价值为 {}\n", .{res});
|
||||
|
||||
// 状态压缩后的动态规划
|
||||
// 空间优化后的动态规划
|
||||
res = unboundedKnapsackDPComp(&wgt, &val, cap);
|
||||
std.debug.print("不超过背包容量的最大物品价值为 {}\n", .{res});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user