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;
}
相关推荐
什巳1 小时前
JAVA练习309- 二叉树的层序遍历
java·数据结构·算法·leetcode
麻瓜老宋2 小时前
AI开发C语言应用按步走,表达式计算器calc的第一步,中缀表达式词法分析
c语言·开发语言·atomcode
什巳3 小时前
JAVA练习306- 翻转二叉树
java·数据结构·算法·leetcode
一个初入编程的小白3 小时前
C语言:函数栈帧与销毁
c语言·开发语言
smj2302_796826523 小时前
解决leetcode第3989题网格中保持一致的最大列数
python·算法·leetcode
ComputerInBook6 小时前
c 和 c++ 中的宏块(macro)
c语言·c++··宏块·宏指令
bu_shuo7 小时前
c与cpp中的argc和argv
c语言·c++·算法
Aurorar0rua7 小时前
CS50 x 2024 Notes Algorithms - 02
c语言·开发语言·学习方法
CoderYanger8 小时前
A.每日一题:3020. 子集中元素的最大数量
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
足球中国8 小时前
nuget把缓存搬离C盘
c语言·windows·缓存