diff --git a/codes/c/chapter_dynamic_programming/coin_change.c b/codes/c/chapter_dynamic_programming/coin_change.c index 59a1df32b..bc120bbe6 100644 --- a/codes/c/chapter_dynamic_programming/coin_change.c +++ b/codes/c/chapter_dynamic_programming/coin_change.c @@ -26,7 +26,7 @@ int coinChangeDP(int coins[], int amt, int coinsSize) { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a]; } else { // 不选和选硬币 i 这两种方案的较小值 @@ -49,7 +49,7 @@ int coinChangeDPComp(int coins[], int amt, int coinsSize) { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案的较小值 diff --git a/codes/c/chapter_dynamic_programming/coin_change_ii.c b/codes/c/chapter_dynamic_programming/coin_change_ii.c index 3d8dc8a47..6b43a2d00 100644 --- a/codes/c/chapter_dynamic_programming/coin_change_ii.c +++ b/codes/c/chapter_dynamic_programming/coin_change_ii.c @@ -20,7 +20,7 @@ int coinChangeIIDP(int coins[], int amt, int coinsSize) { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a]; } else { // 不选和选硬币 i 这两种方案之和 @@ -42,7 +42,7 @@ int coinChangeIIDPComp(int coins[], int amt, int coinsSize) { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案之和 diff --git a/codes/cpp/chapter_dynamic_programming/coin_change.cpp b/codes/cpp/chapter_dynamic_programming/coin_change.cpp index d0876a3bf..db84c7dea 100644 --- a/codes/cpp/chapter_dynamic_programming/coin_change.cpp +++ b/codes/cpp/chapter_dynamic_programming/coin_change.cpp @@ -20,7 +20,7 @@ int coinChangeDP(vector &coins, int amt) { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a]; } else { // 不选和选硬币 i 这两种方案的较小值 @@ -42,7 +42,7 @@ int coinChangeDPComp(vector &coins, int amt) { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案的较小值 diff --git a/codes/cpp/chapter_dynamic_programming/coin_change_ii.cpp b/codes/cpp/chapter_dynamic_programming/coin_change_ii.cpp index feee62534..dbd6e5dc6 100644 --- a/codes/cpp/chapter_dynamic_programming/coin_change_ii.cpp +++ b/codes/cpp/chapter_dynamic_programming/coin_change_ii.cpp @@ -19,7 +19,7 @@ int coinChangeIIDP(vector &coins, int amt) { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a]; } else { // 不选和选硬币 i 这两种方案之和 @@ -40,7 +40,7 @@ int coinChangeIIDPComp(vector &coins, int amt) { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案之和 diff --git a/codes/csharp/chapter_dynamic_programming/coin_change.cs b/codes/csharp/chapter_dynamic_programming/coin_change.cs index e74a1a6d8..b8e06b6df 100644 --- a/codes/csharp/chapter_dynamic_programming/coin_change.cs +++ b/codes/csharp/chapter_dynamic_programming/coin_change.cs @@ -21,7 +21,7 @@ public class coin_change { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i, a] = dp[i - 1, a]; } else { // 不选和选硬币 i 这两种方案的较小值 @@ -44,7 +44,7 @@ public class coin_change { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案的较小值 diff --git a/codes/csharp/chapter_dynamic_programming/coin_change_ii.cs b/codes/csharp/chapter_dynamic_programming/coin_change_ii.cs index 0279a6099..381f5d7c8 100644 --- a/codes/csharp/chapter_dynamic_programming/coin_change_ii.cs +++ b/codes/csharp/chapter_dynamic_programming/coin_change_ii.cs @@ -20,7 +20,7 @@ public class coin_change_ii { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i, a] = dp[i - 1, a]; } else { // 不选和选硬币 i 这两种方案之和 @@ -41,7 +41,7 @@ public class coin_change_ii { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案之和 diff --git a/codes/dart/chapter_dynamic_programming/coin_change.dart b/codes/dart/chapter_dynamic_programming/coin_change.dart index 822b4eea8..30e163935 100644 --- a/codes/dart/chapter_dynamic_programming/coin_change.dart +++ b/codes/dart/chapter_dynamic_programming/coin_change.dart @@ -20,7 +20,7 @@ int coinChangeDP(List coins, int amt) { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a]; } else { // 不选和选硬币 i 这两种方案的较小值 @@ -42,7 +42,7 @@ int coinChangeDPComp(List coins, int amt) { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案的较小值 diff --git a/codes/dart/chapter_dynamic_programming/coin_change_ii.dart b/codes/dart/chapter_dynamic_programming/coin_change_ii.dart index a2aad6fc2..e2efb555e 100644 --- a/codes/dart/chapter_dynamic_programming/coin_change_ii.dart +++ b/codes/dart/chapter_dynamic_programming/coin_change_ii.dart @@ -17,7 +17,7 @@ int coinChangeIIDP(List coins, int amt) { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a]; } else { // 不选和选硬币 i 这两种方案之和 @@ -38,7 +38,7 @@ int coinChangeIIDPComp(List coins, int amt) { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案之和 diff --git a/codes/go/chapter_dynamic_programming/coin_change.go b/codes/go/chapter_dynamic_programming/coin_change.go index e2b0c6e76..8d4f16546 100644 --- a/codes/go/chapter_dynamic_programming/coin_change.go +++ b/codes/go/chapter_dynamic_programming/coin_change.go @@ -23,7 +23,7 @@ func coinChangeDP(coins []int, amt int) int { for i := 1; i <= n; i++ { for a := 1; a <= amt; a++ { if coins[i-1] > a { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i-1][a] } else { // 不选和选硬币 i 这两种方案的较小值 @@ -51,7 +51,7 @@ func coinChangeDPComp(coins []int, amt int) int { // 倒序遍历 for a := 1; a <= amt; a++ { if coins[i-1] > a { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a] } else { // 不选和选硬币 i 这两种方案的较小值 diff --git a/codes/go/chapter_dynamic_programming/coin_change_ii.go b/codes/go/chapter_dynamic_programming/coin_change_ii.go index 62b09b12a..d493ed174 100644 --- a/codes/go/chapter_dynamic_programming/coin_change_ii.go +++ b/codes/go/chapter_dynamic_programming/coin_change_ii.go @@ -20,7 +20,7 @@ func coinChangeIIDP(coins []int, amt int) int { for i := 1; i <= n; i++ { for a := 1; a <= amt; a++ { if coins[i-1] > a { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i-1][a] } else { // 不选和选硬币 i 这两种方案之和 @@ -42,7 +42,7 @@ func coinChangeIIDPComp(coins []int, amt int) int { // 倒序遍历 for a := 1; a <= amt; a++ { if coins[i-1] > a { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a] } else { // 不选和选硬币 i 这两种方案之和 diff --git a/codes/java/chapter_dynamic_programming/coin_change.java b/codes/java/chapter_dynamic_programming/coin_change.java index b42799c6f..f5f57c807 100644 --- a/codes/java/chapter_dynamic_programming/coin_change.java +++ b/codes/java/chapter_dynamic_programming/coin_change.java @@ -23,7 +23,7 @@ public class coin_change { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a]; } else { // 不选和选硬币 i 这两种方案的较小值 @@ -46,7 +46,7 @@ public class coin_change { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案的较小值 diff --git a/codes/java/chapter_dynamic_programming/coin_change_ii.java b/codes/java/chapter_dynamic_programming/coin_change_ii.java index 36c19a0da..71f25be03 100644 --- a/codes/java/chapter_dynamic_programming/coin_change_ii.java +++ b/codes/java/chapter_dynamic_programming/coin_change_ii.java @@ -20,7 +20,7 @@ public class coin_change_ii { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a]; } else { // 不选和选硬币 i 这两种方案之和 @@ -41,7 +41,7 @@ public class coin_change_ii { for (int i = 1; i <= n; i++) { for (int a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案之和 diff --git a/codes/javascript/chapter_dynamic_programming/coin_change.js b/codes/javascript/chapter_dynamic_programming/coin_change.js index 2aa5fc444..99b1a3363 100644 --- a/codes/javascript/chapter_dynamic_programming/coin_change.js +++ b/codes/javascript/chapter_dynamic_programming/coin_change.js @@ -20,7 +20,7 @@ function coinChangeDP(coins, amt) { for (let i = 1; i <= n; i++) { for (let a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a]; } else { // 不选和选硬币 i 这两种方案的较小值 @@ -42,7 +42,7 @@ function coinChangeDPComp(coins, amt) { for (let i = 1; i <= n; i++) { for (let a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案的较小值 diff --git a/codes/javascript/chapter_dynamic_programming/coin_change_ii.js b/codes/javascript/chapter_dynamic_programming/coin_change_ii.js index 92d294874..6732b978f 100644 --- a/codes/javascript/chapter_dynamic_programming/coin_change_ii.js +++ b/codes/javascript/chapter_dynamic_programming/coin_change_ii.js @@ -19,7 +19,7 @@ function coinChangeIIDP(coins, amt) { for (let i = 1; i <= n; i++) { for (let a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a]; } else { // 不选和选硬币 i 这两种方案之和 @@ -40,7 +40,7 @@ function coinChangeIIDPComp(coins, amt) { for (let i = 1; i <= n; i++) { for (let a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案之和 diff --git a/codes/python/chapter_dynamic_programming/coin_change.py b/codes/python/chapter_dynamic_programming/coin_change.py index 2aef95b48..6c916dc44 100644 --- a/codes/python/chapter_dynamic_programming/coin_change.py +++ b/codes/python/chapter_dynamic_programming/coin_change.py @@ -18,7 +18,7 @@ def coin_change_dp(coins: list[int], amt: int) -> int: for i in range(1, n + 1): for a in range(1, amt + 1): if coins[i - 1] > a: - # 若超过背包容量,则不选硬币 i + # 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a] else: # 不选和选硬币 i 这两种方案的较小值 @@ -38,7 +38,7 @@ def coin_change_dp_comp(coins: list[int], amt: int) -> int: # 正序遍历 for a in range(1, amt + 1): if coins[i - 1] > a: - # 若超过背包容量,则不选硬币 i + # 若超过目标金额,则不选硬币 i dp[a] = dp[a] else: # 不选和选硬币 i 这两种方案的较小值 diff --git a/codes/python/chapter_dynamic_programming/coin_change_ii.py b/codes/python/chapter_dynamic_programming/coin_change_ii.py index abc32308c..faec82888 100644 --- a/codes/python/chapter_dynamic_programming/coin_change_ii.py +++ b/codes/python/chapter_dynamic_programming/coin_change_ii.py @@ -17,7 +17,7 @@ def coin_change_ii_dp(coins: list[int], amt: int) -> int: for i in range(1, n + 1): for a in range(1, amt + 1): if coins[i - 1] > a: - # 若超过背包容量,则不选硬币 i + # 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a] else: # 不选和选硬币 i 这两种方案之和 @@ -36,7 +36,7 @@ def coin_change_ii_dp_comp(coins: list[int], amt: int) -> int: # 正序遍历 for a in range(1, amt + 1): if coins[i - 1] > a: - # 若超过背包容量,则不选硬币 i + # 若超过目标金额,则不选硬币 i dp[a] = dp[a] else: # 不选和选硬币 i 这两种方案之和 diff --git a/codes/rust/chapter_dynamic_programming/coin_change.rs b/codes/rust/chapter_dynamic_programming/coin_change.rs index 9bb74b93f..223b6cd35 100644 --- a/codes/rust/chapter_dynamic_programming/coin_change.rs +++ b/codes/rust/chapter_dynamic_programming/coin_change.rs @@ -18,7 +18,7 @@ fn coin_change_dp(coins: &[i32], amt: usize) -> i32 { for i in 1..=n { for a in 1..=amt { if coins[i - 1] > a as i32 { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a]; } else { // 不选和选硬币 i 这两种方案的较小值 @@ -41,7 +41,7 @@ fn coin_change_dp_comp(coins: &[i32], amt: usize) -> i32 { for i in 1..=n { for a in 1..=amt { if coins[i - 1] > a as i32 { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案的较小值 diff --git a/codes/rust/chapter_dynamic_programming/coin_change_ii.rs b/codes/rust/chapter_dynamic_programming/coin_change_ii.rs index 7b2c3bcee..660c6fe96 100644 --- a/codes/rust/chapter_dynamic_programming/coin_change_ii.rs +++ b/codes/rust/chapter_dynamic_programming/coin_change_ii.rs @@ -17,7 +17,7 @@ fn coin_change_ii_dp(coins: &[i32], amt: usize) -> i32 { for i in 1..=n { for a in 1..=amt { if coins[i - 1] > a as i32 { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a]; } else { // 不选和选硬币 i 这两种方案的较小值 @@ -38,7 +38,7 @@ fn coin_change_ii_dp_comp(coins: &[i32], amt: usize) -> i32 { for i in 1..=n { for a in 1..=amt { if coins[i - 1] > a as i32 { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案的较小值 diff --git a/codes/swift/chapter_dynamic_programming/coin_change.swift b/codes/swift/chapter_dynamic_programming/coin_change.swift index 505e8b1d3..f6be53c1a 100644 --- a/codes/swift/chapter_dynamic_programming/coin_change.swift +++ b/codes/swift/chapter_dynamic_programming/coin_change.swift @@ -18,7 +18,7 @@ func coinChangeDP(coins: [Int], amt: Int) -> Int { for i in stride(from: 1, through: n, by: 1) { for a in stride(from: 1, through: amt, by: 1) { if coins[i - 1] > a { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a] } else { // 不选和选硬币 i 这两种方案的较小值 @@ -40,7 +40,7 @@ func coinChangeDPComp(coins: [Int], amt: Int) -> Int { for i in stride(from: 1, through: n, by: 1) { for a in stride(from: 1, through: amt, by: 1) { if coins[i - 1] > a { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a] } else { // 不选和选硬币 i 这两种方案的较小值 diff --git a/codes/swift/chapter_dynamic_programming/coin_change_ii.swift b/codes/swift/chapter_dynamic_programming/coin_change_ii.swift index 93ac2bb76..5b4e8abd5 100644 --- a/codes/swift/chapter_dynamic_programming/coin_change_ii.swift +++ b/codes/swift/chapter_dynamic_programming/coin_change_ii.swift @@ -17,7 +17,7 @@ func coinChangeIIDP(coins: [Int], amt: Int) -> Int { for i in stride(from: 1, through: n, by: 1) { for a in stride(from: 1, through: amt, by: 1) { if coins[i - 1] > a { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a] } else { // 不选和选硬币 i 这两种方案之和 @@ -38,7 +38,7 @@ func coinChangeIIDPComp(coins: [Int], amt: Int) -> Int { for i in stride(from: 1, through: n, by: 1) { for a in stride(from: 1, through: amt, by: 1) { if coins[i - 1] > a { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a] } else { // 不选和选硬币 i 这两种方案之和 diff --git a/codes/typescript/chapter_dynamic_programming/coin_change.ts b/codes/typescript/chapter_dynamic_programming/coin_change.ts index 09141cd79..8d5e0d26b 100644 --- a/codes/typescript/chapter_dynamic_programming/coin_change.ts +++ b/codes/typescript/chapter_dynamic_programming/coin_change.ts @@ -20,7 +20,7 @@ function coinChangeDP(coins: Array, amt: number): number { for (let i = 1; i <= n; i++) { for (let a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a]; } else { // 不选和选硬币 i 这两种方案的较小值 @@ -42,7 +42,7 @@ function coinChangeDPComp(coins: Array, amt: number): number { for (let i = 1; i <= n; i++) { for (let a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案的较小值 diff --git a/codes/typescript/chapter_dynamic_programming/coin_change_ii.ts b/codes/typescript/chapter_dynamic_programming/coin_change_ii.ts index 55ba0af49..431e40901 100644 --- a/codes/typescript/chapter_dynamic_programming/coin_change_ii.ts +++ b/codes/typescript/chapter_dynamic_programming/coin_change_ii.ts @@ -19,7 +19,7 @@ function coinChangeIIDP(coins: Array, amt: number): number { for (let i = 1; i <= n; i++) { for (let a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a]; } else { // 不选和选硬币 i 这两种方案之和 @@ -40,7 +40,7 @@ function coinChangeIIDPComp(coins: Array, amt: number): number { for (let i = 1; i <= n; i++) { for (let a = 1; a <= amt; a++) { if (coins[i - 1] > a) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案之和 diff --git a/codes/zig/chapter_dynamic_programming/coin_change.zig b/codes/zig/chapter_dynamic_programming/coin_change.zig index 48d2ce8cb..73ed0aefc 100644 --- a/codes/zig/chapter_dynamic_programming/coin_change.zig +++ b/codes/zig/chapter_dynamic_programming/coin_change.zig @@ -18,7 +18,7 @@ fn coinChangeDP(comptime coins: []i32, comptime amt: usize) i32 { for (1..n + 1) |i| { for (1..amt + 1) |a| { if (coins[i - 1] > @as(i32, @intCast(a))) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a]; } else { // 不选和选硬币 i 这两种方案的较小值 @@ -45,7 +45,7 @@ fn coinChangeDPComp(comptime coins: []i32, comptime amt: usize) i32 { for (1..n + 1) |i| { for (1..amt + 1) |a| { if (coins[i - 1] > @as(i32, @intCast(a))) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案的较小值 diff --git a/codes/zig/chapter_dynamic_programming/coin_change_ii.zig b/codes/zig/chapter_dynamic_programming/coin_change_ii.zig index dfd132ed9..a6eb5f406 100644 --- a/codes/zig/chapter_dynamic_programming/coin_change_ii.zig +++ b/codes/zig/chapter_dynamic_programming/coin_change_ii.zig @@ -17,7 +17,7 @@ fn coinChangeIIDP(comptime coins: []i32, comptime amt: usize) i32 { for (1..n + 1) |i| { for (1..amt + 1) |a| { if (coins[i - 1] > @as(i32, @intCast(a))) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[i][a] = dp[i - 1][a]; } else { // 不选和选硬币 i 这两种方案的较小值 @@ -38,7 +38,7 @@ fn coinChangeIIDPComp(comptime coins: []i32, comptime amt: usize) i32 { for (1..n + 1) |i| { for (1..amt + 1) |a| { if (coins[i - 1] > @as(i32, @intCast(a))) { - // 若超过背包容量,则不选硬币 i + // 若超过目标金额,则不选硬币 i dp[a] = dp[a]; } else { // 不选和选硬币 i 这两种方案的较小值 diff --git a/docs/chapter_backtracking/n_queens_problem.md b/docs/chapter_backtracking/n_queens_problem.md index 5543209a2..8f34c936c 100644 --- a/docs/chapter_backtracking/n_queens_problem.md +++ b/docs/chapter_backtracking/n_queens_problem.md @@ -30,15 +30,15 @@ 那么,如何处理对角线约束呢?设棋盘中某个格子的行列索引为 $(row, col)$ ,选定矩阵中的某条主对角线,我们发现该对角线上所有格子的行索引减列索引都相等,**即对角线上所有格子的 $row - col$ 为恒定值**。 -也就是说,如果两个格子满足 $row_1 - col_1 = row_2 - col_2$ ,则它们一定处在同一条主对角线上。利用该规律,我们可以借助下图所示的数组 `diag1` ,记录每条主对角线上是否有皇后。 +也就是说,如果两个格子满足 $row_1 - col_1 = row_2 - col_2$ ,则它们一定处在同一条主对角线上。利用该规律,我们可以借助下图所示的数组 `diags1` ,记录每条主对角线上是否有皇后。 -同理,**次对角线上的所有格子的 $row + col$ 是恒定值**。我们同样也可以借助数组 `diag2` 来处理次对角线约束。 +同理,**次对角线上的所有格子的 $row + col$ 是恒定值**。我们同样也可以借助数组 `diags2` 来处理次对角线约束。 ![处理列约束和对角线约束](n_queens_problem.assets/n_queens_cols_diagonals.png) ### 代码实现 -请注意,$n$ 维方阵中 $row - col$ 的范围是 $[-n + 1, n - 1]$ ,$row + col$ 的范围是 $[0, 2n - 2]$ ,所以主对角线和次对角线的数量都为 $2n - 1$ ,即数组 `diag1` 和 `diag2` 的长度都为 $2n - 1$ 。 +请注意,$n$ 维方阵中 $row - col$ 的范围是 $[-n + 1, n - 1]$ ,$row + col$ 的范围是 $[0, 2n - 2]$ ,所以主对角线和次对角线的数量都为 $2n - 1$ ,即数组 `diags1` 和 `diags2` 的长度都为 $2n - 1$ 。 ```src [file]{n_queens}-[class]{}-[func]{n_queens} diff --git a/docs/chapter_computational_complexity/iteration_and_recursion.md b/docs/chapter_computational_complexity/iteration_and_recursion.md index 7dfc26c14..0ce5a2b75 100644 --- a/docs/chapter_computational_complexity/iteration_and_recursion.md +++ b/docs/chapter_computational_complexity/iteration_and_recursion.md @@ -32,7 +32,7 @@ [file]{iteration}-[class]{}-[func]{while_loop} ``` -在 `while` 循环中,由于初始化和更新条件变量的步骤是独立在循环结构之外的,**因此它比 `for` 循环的自由度更高**。 +**`while` 循环比 `for` 循环的自由度更高**。在 `while` 循环中,我们可以自由设计条件变量的初始化和更新步骤。 例如在以下代码中,条件变量 $i$ 每轮进行了两次更新,这种情况就不太方便用 `for` 循环实现。