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;
}
相关推荐
_深海凉_2 分钟前
LeetCode热题100-26. 删除有序数组中的重复项
python·算法·leetcode
w_com.h18 分钟前
C语言中 栈、队列、双向链表
c语言·开发语言·链表
cany100034 分钟前
信号sigset_t
c语言
念恒1230638 分钟前
进程控制---进程等待
linux·c语言
嘻嘻哈哈樱桃1 小时前
牛客经典101题题解集--二叉树
java·数据结构·python·算法·leetcode·职场和发展
cen__y1 小时前
Linux05(管道)
linux·运维·服务器·c语言·开发语言·文件流
6Hzlia1 小时前
【Hot 100 刷题计划】 LeetCode 98. 验证二叉搜索树 | C++ 指针边界法
c++·算法·leetcode
踩坑记录1 小时前
leetcode hot100 300. 最长递增子序列 medium 动态规划
leetcode·动态规划
sghuter1 小时前
数字资源分发的技术架构与未来趋势
c语言·开发语言·后端·青少年编程
小辉同志2 小时前
45. 跳跃游戏 II
c++·leetcode·游戏·贪心算法