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;
}
相关推荐
码不停蹄Zzz2 分钟前
C语言——神奇的static
java·c语言·开发语言
big_rabbit05021 小时前
[算法][力扣222]完全二叉树的节点个数
数据结构·算法·leetcode
张李浩2 小时前
Leetcode 15三题之和
算法·leetcode·职场和发展
x_xbx3 小时前
LeetCode:206. 反转链表
算法·leetcode·链表
abant23 小时前
leetcode 138 复制随机链表
算法·leetcode·链表
会编程的李较瘦3 小时前
【C语言程序设计学习】一、C语法基础
c语言·开发语言·学习
困死,根本不会3 小时前
【C 语言】指针学习笔记:从底层原理到实战应用
c语言·开发语言·笔记·学习·算法
自动化和Linux4 小时前
C语言_scanf(),strlen(),size()的特性和各自的区别
c语言·开发语言
小郝 小郝4 小时前
51 与32 单片机LED控制详解
c语言·开发语言·经验分享·学习·51单片机
做怪小疯子5 小时前
Leetcode刷题——8.重叠区间
算法·leetcode·职场和发展