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;
}
相关推荐
qeen8712 小时前
【算法笔记】二分查找与二分答案
c语言·c++·笔记·学习·算法·二分
宵时待雨13 小时前
优选算法专题3:二分查找
数据结构·c++·算法·leetcode·职场和发展
@小柯555m13 小时前
算法(字母异位词分组)
java·开发语言·算法·leetcode
cpp_250113 小时前
P1877 [HAOI2012] 音量调节
数据结构·c++·算法·动态规划·题解·洛谷·背包dp
木子墨51613 小时前
LeetCode 热题 100 精讲 | 矩阵与图论进阶篇:矩阵置零 · 螺旋矩阵 · 旋转图像 · 搜索二维矩阵 II · 岛屿数量 · 腐烂的橘子
c++·算法·leetcode·矩阵·力扣·图论
SDAU200513 小时前
Arduino编程CH552
c语言·开发语言·单片机
明飞198713 小时前
C输出打印格式占位符
c语言
Rabitebla14 小时前
【数据结构】实现通讯录:基于C语言动态顺序表
c语言·开发语言·数据结构·算法
米粒114 小时前
力扣算法刷题 Day 52
算法·leetcode·职场和发展
hhb_61814 小时前
C Shell脚本编程与系统管理技术实践指南
java·c语言·开发语言