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;
}
相关推荐
Pniubi1 小时前
力扣283移动零(双指针法)
算法·leetcode·职场和发展
Zwawa4 小时前
串口为什么会丢字节:从轮询到中断和环形缓冲区
c语言·单片机·嵌入式
揽星河..7 小时前
【C语言】分支和循环
c语言·c++·算法
揽星河..9 小时前
【C语言】猜数字游戏
c语言·算法·游戏
旖旎夜光12 小时前
LeetCode 315: 算右侧小于当前元素的个数(归并排序) —— 题解
c++·学习·算法·leetcode·排序算法
文丑颜不良啊12 小时前
LeetCode1401~1420题目解析
java·leetcode
Nuanyt12 小时前
LeetCode Hot 100 链表专题2 3 题 (Java)
java·笔记·算法·leetcode·链表
文丑颜不良啊12 小时前
LeetCode1341~1360题目解析
java·leetcode
海绵宝宝转agent13 小时前
LeetCodehot100题解
java·笔记·学习·算法·leetcode·深度优先
Pniubi14 小时前
力扣543二叉树的直径(深度优先搜索法(递归))
算法·leetcode·职场和发展