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;
}
相关推荐
大闲在人5 小时前
C、C++区别还是蛮大的
c语言·开发语言·c++
追随者永远是胜利者6 小时前
(LeetCode-Hot100)20. 有效的括号
java·算法·leetcode·职场和发展·go
愚润求学10 小时前
【动态规划】二维的背包问题、似包非包、卡特兰数
c++·算法·leetcode·动态规划
追随者永远是胜利者11 小时前
(LeetCode-Hot100)42. 接雨水
java·算法·leetcode·职场和发展·go
祈安_13 小时前
深入理解指针(一)
c语言·前端
元亓亓亓13 小时前
LeetCode热题100--76. 最小覆盖子串--困难
算法·leetcode·职场和发展
CHANG_THE_WORLD13 小时前
深入理解C语言指针:从源码到汇编的彻底剖析
c语言·开发语言·汇编
say_fall15 小时前
双指针算法详解:从原理到实战(含LeetCode经典例题)
算法·leetcode·职场和发展
追随者永远是胜利者15 小时前
(LeetCode-Hot100)33. 搜索旋转排序数组
java·算法·leetcode·职场和发展·go