Merge pull request #2120 from fwqaaq/patch-34

Update 0213.打家劫舍II.md about rust
This commit is contained in:
程序员Carl
2023-06-21 09:48:29 +08:00
committed by GitHub

View File

@ -301,6 +301,35 @@ function robRange(nums: number[], start: number, end: number): number {
}
```
Rust:
```rust
impl Solution {
pub fn rob(nums: Vec<i32>) -> i32 {
match nums.len() {
1 => nums[0],
_ => Self::rob_range(&nums, 0, nums.len() - 2).max(Self::rob_range(
&nums,
1,
nums.len() - 1,
)),
}
}
pub fn rob_range(nums: &Vec<i32>, start: usize, end: usize) -> i32 {
if start == end {
return nums[start];
}
let mut dp = vec![0; nums.len()];
dp[start] = nums[start];
dp[start + 1] = nums[start].max(nums[start + 1]);
for i in start + 2..=end {
dp[i] = dp[i - 1].max(dp[i - 2] + nums[i]);
}
dp[end]
}
}
```
<p align="center">