mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-07 15:45:40 +08:00
Update 0213.打家劫舍II.md
0213.打家劫舍||新增C语言实现
This commit is contained in:
@ -308,6 +308,34 @@ function robRange(nums: number[], start: number, end: number): number {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### C
|
||||||
|
|
||||||
|
```c
|
||||||
|
#define max(a, b) ((a) > (b) ? (a) : (b))
|
||||||
|
|
||||||
|
// 198.打家劫舍的逻辑
|
||||||
|
int robRange(int* nums, int start, int end, int numsSize) {
|
||||||
|
if (end == start) return nums[start];
|
||||||
|
int dp[numsSize];
|
||||||
|
dp[start] = nums[start];
|
||||||
|
dp[start + 1] = max(nums[start], nums[start + 1]);
|
||||||
|
for (int i = start + 2; i <= end; i++) {
|
||||||
|
dp[i] = max(dp[i - 2] + nums[i], dp[i - 1]);
|
||||||
|
}
|
||||||
|
return dp[end];
|
||||||
|
}
|
||||||
|
|
||||||
|
int rob(int* nums, int numsSize) {
|
||||||
|
if (numsSize == 0) return 0;
|
||||||
|
if (numsSize == 1) return nums[0];
|
||||||
|
int result1 = robRange(nums, 0, numsSize - 2, numsSize); // 情况二
|
||||||
|
int result2 = robRange(nums, 1, numsSize - 1, numsSize); // 情况三
|
||||||
|
return max(result1, result2);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Rust:
|
### Rust:
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
@ -343,4 +371,3 @@ impl Solution {
|
|||||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||||
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user