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;
}
相关推荐
老花眼猫16 分钟前
数学艺术图案画-曼陀罗(93)
c语言·经验分享·青少年编程·课程设计
水饺编程1 小时前
第1章:下载 Linux 0.12 内核
linux·c语言·汇编·ubuntu
All for pursuit.1 小时前
【回溯-7】494.目标和
数据结构·c++·算法·leetcode
沐晓时光1 小时前
C语言入门,深入理解指针(2)
c语言·开发语言
Logic1011 小时前
C语言/数据结构贪心算法题解:字符串趋同——逐位统计最高频率求最小修改代价
c语言·数据结构·贪心算法·字符串·时间复杂度·频率统计·算法题
水饺编程1 小时前
第1章:开发环境搭建,在 Windows 中安装 Git
linux·c语言·汇编·git·ubuntu
H.莓飛2 小时前
【Linux】命令行参数、环境变量与程序地址空间
linux·c语言·chrome·后端·centos
山下梅子酒2252 小时前
洛谷-入门-B2080
c语言
Tisfy2 小时前
LeetCode 0678.有效的括号字符串:O(n)+O(1)一次遍历
算法·leetcode·字符串·题解·贪心·括号匹配
大侠归来6 小时前
C 语言 | 在函数中操作数组
c语言·c++·算法