Merge branch 'master' of github.com:youngyangyang04/leetcode-master

This commit is contained in:
programmercarl
2023-06-10 17:07:48 +08:00
3 changed files with 35 additions and 16 deletions

View File

@ -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]
}
}
```
<p align="center"> <p align="center">
<a href="https://programmercarl.com/other/kstar.html" target="_blank"> <a href="https://programmercarl.com/other/kstar.html" target="_blank">

View File

@ -269,16 +269,17 @@ Rust
```Rust ```Rust
impl Solution { impl Solution {
pub fn combination_sum4(nums: Vec<i32>, target: i32) -> i32 { pub fn combination_sum4(nums: Vec<i32>, 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; dp[0] = 1;
for i in 1..=target as usize { for i in 1..=target {
for &j in nums.iter() { for &n in &nums {
if i as i32 >= j { if i >= n as usize {
dp[i] += dp[i- j as usize]; dp[i] += dp[i - n as usize];
} }
} }
} }
return dp[target as usize]; dp[target]
} }
} }
``` ```

View File

@ -282,17 +282,18 @@ func change(amount int, coins []int) int {
Rust: Rust:
```rust ```rust
pub fn change(amount: i32, coins: Vec<i32>) -> i32 { impl Solution {
let amount = amount as usize; pub fn change(amount: i32, coins: Vec<i32>) -> i32 {
let coins = coins.iter().map(|&c|c as usize).collect::<Vec<usize>>(); let amount = amount as usize;
let mut dp = vec![0usize; amount + 1]; let mut dp = vec![0; amount + 1];
dp[0] = 1; dp[0] = 1;
for i in 0..coins.len() { for coin in coins {
for j in coins[i]..=amount { for j in coin as usize..=amount {
dp[j] += dp[j - coins[i]]; dp[j] += dp[j - coin as usize];
}
} }
dp[amount]
} }
dp[amount] as i32
} }
``` ```