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;
}
相关推荐
一去不复返的通信er15 分钟前
力扣-图论-岛屿数量
算法·leetcode·图论
Xin7705 小时前
LeetCode 79. 单词搜索(DFS 回溯法)
leetcode
Zwawa5 小时前
编译器工具链:GCC、Clang、MSVC、ICC、armclang
c语言·嵌入式·编译器
学逆向的5 小时前
C 指针常量与常量指针
c语言·开发语言·网络安全
水饺编程6 小时前
第2章:Linux 基础,exit 命令
linux·c语言·汇编
INGNIGHT8 小时前
440 · 背包问题(三)(无限次数)
算法·leetcode·动态规划
极客 - L U8 小时前
卡尔曼滤波从零到精通
c语言·数据结构·单片机·嵌入式硬件·mcu
Tisfy10 小时前
LeetCode 3619.总价值可以被 K 整除的岛屿数目:广度优先搜索BFS
算法·leetcode·bfs·宽度优先
谙弆悕博士10 小时前
用 C 写了个 Windows 聊天室,踩了几个多线程和控制台的坑
c语言·开发语言·c++·windows·网络编程·聊天室
水饺编程10 小时前
第2章:Linux 基础,删除用户
linux·c语言·汇编