diff --git "a/problems/0070.347円210円254円346円245円274円346円242円257円345円256円214円345円205円250円350円203円214円345円214円205円347円211円210円346円234円254円.md" "b/problems/0070.347円210円254円346円245円274円346円242円257円345円256円214円345円205円250円350円203円214円345円214円205円347円211円210円346円234円254円.md"
index 8f8bc9a649..5dde64098d 100644
--- "a/problems/0070.347円210円254円346円245円274円346円242円257円345円256円214円345円205円250円350円203円214円345円214円205円347円211円210円346円234円254円.md"
+++ "b/problems/0070.347円210円254円346円245円274円346円242円257円345円256円214円345円205円250円350円203円214円345円214円205円347円211円210円346円234円254円.md"
@@ -225,8 +225,25 @@ function climbStairs(n: number): number {
};
```
+Rust:
-
+```rust
+impl Solution {
+ pub fn climb_stairs(n: i32) -> i32 {
+ let (n, m) = (n as usize, 2);
+ let mut dp = vec![0; n + 1];
+ dp[0] = 1;
+ for i in 1..=n {
+ for j in 1..=m {
+ if i>= j {
+ dp[i] += dp[i - j];
+ }
+ }
+ }
+ dp[n]
+ }
+}
+```
diff --git "a/problems/0377.347円273円204円345円220円210円346円200円273円345円222円214円342円205円243円.md" "b/problems/0377.347円273円204円345円220円210円346円200円273円345円222円214円342円205円243円.md"
index b6b15386cc..bd43d52657 100644
--- "a/problems/0377.347円273円204円345円220円210円346円200円273円345円222円214円342円205円243円.md"
+++ "b/problems/0377.347円273円204円345円220円210円346円200円273円345円222円214円342円205円243円.md"
@@ -269,16 +269,17 @@ Rust
```Rust
impl Solution {
pub fn combination_sum4(nums: Vec, target: i32) -> i32 {
- let mut dp = vec![0; target as usize + 1];
+ let target = target as usize;
+ let mut dp = vec![0; target + 1];
dp[0] = 1;
- for i in 1..=target as usize {
- for &j in nums.iter() {
- if i as i32>= j {
- dp[i] += dp[i- j as usize];
+ for i in 1..=target {
+ for &n in &nums {
+ if i>= n as usize {
+ dp[i] += dp[i - n as usize];
}
}
}
- return dp[target as usize];
+ dp[target]
}
}
```
diff --git "a/problems/0518.351円233円266円351円222円261円345円205円221円346円215円242円II.md" "b/problems/0518.351円233円266円351円222円261円345円205円221円346円215円242円II.md"
index c208754f77..8da351148b 100644
--- "a/problems/0518.351円233円266円351円222円261円345円205円221円346円215円242円II.md"
+++ "b/problems/0518.351円233円266円351円222円261円345円205円221円346円215円242円II.md"
@@ -282,17 +282,18 @@ func change(amount int, coins []int) int {
Rust:
```rust
-pub fn change(amount: i32, coins: Vec) -> i32 {
- let amount = amount as usize;
- let coins = coins.iter().map(|&c|c as usize).collect::>();
- let mut dp = vec![0usize; amount + 1];
- dp[0] = 1;
- for i in 0..coins.len() {
- for j in coins[i]..=amount {
- dp[j] += dp[j - coins[i]];
+impl Solution {
+ pub fn change(amount: i32, coins: Vec) -> i32 {
+ let amount = amount as usize;
+ let mut dp = vec![0; amount + 1];
+ dp[0] = 1;
+ for coin in coins {
+ for j in coin as usize..=amount {
+ dp[j] += dp[j - coin as usize];
+ }
}
+ dp[amount]
}
- dp[amount] as i32
}
```