C语言 | Leetcode C语言题解之第213题打家劫舍II

题目:

题解:

cpp 复制代码
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));
}
相关推荐
6Hzlia2 分钟前
【Hot 100 刷题计划】 LeetCode 287. 寻找重复数 | C++ 数组判环 (快慢指针终极解法)
c++·算法·leetcode
水饺编程3 小时前
第5章,[标签 Win32] :获取设备环境的信息
c语言·c++·windows·visual studio
lhbian3 小时前
C++、C与易语言:编程语言对比解析
c语言·开发语言·c++
꧁细听勿语情꧂3 小时前
数据结构概念和算法、时间复杂度、空间复杂度引入
c语言·开发语言·数据结构·算法
小堃学编程3 小时前
【项目实战】基于protobuf的发布订阅式消息队列(4)—— 服务端
c语言·c++·vscode·消息队列·gtest·protobuf·muduo
三品吉他手会点灯4 小时前
C语言学习笔记 - 3. C概述 - C语言的起源和发展
c语言·笔记·学习
念恒123064 小时前
进程概念(1)
linux·c语言
念恒123065 小时前
进程概念(2)
linux·c语言
weixin_446023565 小时前
C语言过时了?2026年C3和Zig谁能拯救它
c语言·zig·c3·系统级开发·语言革新
广州山泉婚姻5 小时前
C语言循环结构精讲:底层认知与实用技巧
c语言·人工智能