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;
}
相关推荐
曦樂~6 小时前
Cpp面筋
c语言·c++
Dream it possible!8 小时前
LeetCode 面试经典 150_多维动态规划_交错字符串(97_C++_中等)
算法·leetcode·面试·动态规划
心抵鹊9 小时前
算法之双指针系列(一)
算法·leetcode
Pniubi11 小时前
力扣560.和为k的子数组
算法·leetcode·职场和发展
Pniubi12 小时前
力扣438.找到字符串中所有字母异位词
算法·leetcode·职场和发展
文丑颜不良啊16 小时前
LeetCode2081~2100题目解析
java·leetcode
HUANGZHENXUAN12316 小时前
最大子矩阵和:从 O(n⁴) 到 O(n³) 的列压缩 + Kadane
c语言·前端
文丑颜不良啊18 小时前
LeetCode2061~2080题目解析
java·leetcode
§ꦿCFོ༉19 小时前
嵌入式八股文—C语言入门学习(二)
c语言·学习·嵌入式·编程语言
David猪大卫1 天前
【Linux修炼】环境变量、进程地址空间
linux·c语言·经验分享·笔记·学习·ubuntu·centos