题目:

题解:
int robRange(int* nums, int start, int end) {
int first = nums[start], second = fmax(nums[start], nums[start + 1]);
for (int i = start + 2; i <= end; i++) {
int temp = second;
second = fmax(first + nums[i], second);
first = temp;
}
return second;
}
int rob(int* nums, int numsSize) {
if (numsSize == 1) {
return nums[0];
} else if (numsSize == 2) {
return fmax(nums[0], nums[1]);
}
return fmax(robRange(nums, 0, numsSize - 2), robRange(nums, 1, numsSize - 1));
}
![[激光原理与应用-97]:南京科耐激光-激光焊接-焊中检测-智能制程监测系统IPM介绍 - 1 - 什么是焊接以及传统的焊接方法](https://img-blog.csdnimg.cn/direct/cfd98a4394514dfb8780ae4eb290775b.png)

![[leetcode] n个骰子的点数](https://img-blog.csdnimg.cn/direct/b9f77068e09f4e2691d4bfc5a39a74b4.png)
















![[C++]——同步异步日志系统(2)](https://img-blog.csdnimg.cn/direct/348d45ac7d70448b82e5baf041718e0b.png)