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;
}
相关推荐
WWJA王文举7 小时前
I²C通信完整流程详解:START、地址、ACK、数据、Repeated START和STOP一次讲透
c语言·开发语言
qq_448011168 小时前
C语言中的动态内存分配
c语言·开发语言·php
动词ing9 小时前
【学习笔记】C语言(数组指针与指针数组+字符数组+函数+参数传递+字符串作为形参+递归函数+指针函数+回调函数+结构体嵌套+内存动态分配函数)
c语言·笔记·学习
旖旎夜光9 小时前
LeetCode 3:无重复字符的最长子串(滑动窗口) —— 题解
数据结构·c++·算法·leetcode·滑动窗口
小雨笙笙11 小时前
C语言:变量三属性——存储类型
c语言·开发语言
Navigator_Z12 小时前
LeetCode //C - 1192. Critical Connections in a Network
c语言·算法·leetcode
布莱克60512 小时前
理解 C/C++ 中的 void* 指针
c语言·c++
rannn_11112 小时前
【力扣hot100】链表专题下|138、148、23、146
java·算法·leetcode·链表·开发
(initial)12 小时前
C-05. Kernel Fusion 代价边界:少写回 vs 寄存器压力与 occupancy
c语言·开发语言·cuda
hanlin0313 小时前
刷题笔记:力扣第189题-轮转数组
笔记·算法·leetcode