leetcode 55. 跳跃游戏

2023.7.29

本题不用纠结于可以跳几步,可以聚焦于**覆盖范围,**即 当前位置+当前跳数 能够覆盖的范围,若这个范围足以到达最后一个位置,则返回true;若for循环结束,则还没返回true,则返回false。 下面看代码:

cpp 复制代码
class Solution {
public:
    bool canJump(vector<int>& nums) {
        int cover = 0;
        for(int i=0; i <= cover; i++)
        {
            if(i+nums[i] > cover) cover = i+nums[i];
            if(cover >= nums.size()-1) return true;
        }
        return false;
    }
};

ps:因为cover是覆盖范围,所以for循环的终止条件是i<=cover,最后一个位置是可以取到的。

相关推荐
范纹杉想快点毕业4 分钟前
状态机设计与嵌入式系统开发完整指南从面向过程到面向对象,从理论到实践的全面解析
linux·服务器·数据库·c++·算法·mongodb·mfc
fish-man8 分钟前
测试加粗效果
算法
坚定学代码17 分钟前
认识 ‘using namespace‘
c++
xuxie9920 分钟前
day 23 树
数据结构
晓131320 分钟前
第二章 【C语言篇:入门】 C 语言基础入门
c语言·算法
jiang_changsheng22 分钟前
环境管理工具全景图与深度对比
java·c语言·开发语言·c++·python·r语言
LYOBOYI12328 分钟前
qml的对象树机制
c++·qt
yong999031 分钟前
MATLAB面波频散曲线反演程序
开发语言·算法·matlab
LeoZY_36 分钟前
开源项目精选:Dear ImGui —— 轻量高效的 C++ 即时模式 GUI 框架
开发语言·c++·ui·开源·开源软件
JicasdC123asd1 小时前
【工业检测】基于YOLO13-C3k2-EIEM的铸造缺陷检测与分类系统_1
人工智能·算法·分类