mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-07 07:35:35 +08:00
Merge branch 'master' of github.com:youngyangyang04/leetcode-master
This commit is contained in:
@ -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">
|
||||||
|
@ -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]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -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
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user