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 分钟前
C++ string 从入门到精通:构造、迭代器、容量接口全解析
c语言·开发语言·c++
skywalker_1126 分钟前
力扣hot100-3(最长连续序列),4(移动零)
数据结构·算法·leetcode
6Hzlia27 分钟前
【Hot 100 刷题计划】 LeetCode 17. 电话号码的字母组合 | C++ 回溯算法经典模板
c++·算法·leetcode
wfbcg1 小时前
每日算法练习:LeetCode 209. 长度最小的子数组 ✅
算法·leetcode·职场和发展
_日拱一卒1 小时前
LeetCode:除了自身以外数组的乘积
数据结构·算法·leetcode
计算机安禾1 小时前
【数据结构与算法】第36篇:排序大总结:稳定性、时间复杂度与适用场景
c语言·数据结构·c++·算法·链表·线性回归·visual studio
计算机安禾2 小时前
【数据结构与算法】第35篇:归并排序与基数排序
c语言·数据结构·vscode·算法·排序算法·哈希算法·visual studio
wsoz3 小时前
Leetcode普通数组-day5、6
c++·算法·leetcode·数组
y = xⁿ3 小时前
【LeetCode】双指针:同向快慢针
算法·leetcode
倦王3 小时前
力扣日刷47
算法·leetcode·职场和发展