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;
}
相关推荐
小π军4 分钟前
C 和 C++ 是否都支持函数的重载?
java·c语言·c++
Nil20810 小时前
leetcode 763划分字母区间
算法·leetcode·职场和发展
不会就选b10 小时前
算法日常・每日刷题--<动态规划>20
算法·leetcode·动态规划
不会就选b11 小时前
算法日常・每日刷题--<动态规划>19
算法·leetcode·职场和发展
垆边人似月.12 小时前
华为机试题 :和为 K 的子数组个数
算法·leetcode·华为
夏幻灵13 小时前
每日一题:LeetCode 165:比较版本号
算法·leetcode·职场和发展
Navigator_Z14 小时前
LeetCode //C - 1288. Remove Covered Intervals
c语言·算法·leetcode
0+11115 小时前
算法 --链表
数据结构·算法·leetcode·链表
圣保罗的大教堂15 小时前
leetcode 2333. 最小差值平方和 中等
leetcode
铅笔小新z15 小时前
【C语言】深入理解指针
c语言·开发语言