C语言 | Leetcode C语言题解之第55题跳跃游戏

题目:

题解:

cpp 复制代码
#define max(a, b) (((a) > (b)) ? (a) : (b))

bool canJump(int* nums, int numsSize){
    int cover = 0;

    int i;
    // 只可能获取cover范围中的步数,所以i<=cover
    for(i = 0; i <= cover; ++i) {
        // 更新cover为从i出发能到达的最大值/cover的值中较大值
        cover = max(i + nums[i], cover);

        // 若更新后cover可以到达最后的元素,返回true
        if(cover >= numsSize - 1)
            return true;
    }

    return false;
}
相关推荐
小白程序员成长日记6 分钟前
2025.12.01 力扣每日一题
算法·leetcode·职场和发展
[J] 一坚40 分钟前
华为OD、微软、Google、神州数码、腾讯、中兴、网易有道C/C++字符串、数组、链表、树等笔试真题精粹
c语言·数据结构·c++·算法·链表
不会编程的小寒1 小时前
C and C++
java·c语言·c++
不想写笔记2 小时前
C语言 操作符(下)
c语言·笔记
.柒宇.2 小时前
力扣hot100---42.接雨水(java版)
java·算法·leetcode
誰能久伴不乏2 小时前
为什么 TCP 服务端重启会出现 “Address already in use”问题解析
linux·服务器·c语言·网络·c++·tcp/ip
VekiSon2 小时前
gdb工具介绍
linux·c语言
黎雁·泠崖3 小时前
VS2022调试通关秘籍:变量跟踪+内存分析+bug定位
c语言·bug
Bigan(安)3 小时前
【奶茶Beta专项】【LVGL9.4源码分析】03-显示框架-display
linux·c语言·mcu·arm·unix
Zsy_0510034 小时前
【数据结构】堆简单介绍、C语言实现堆和堆排序
c语言·数据结构·算法