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,最后一个位置是可以取到的。

相关推荐
AndrewHZ36 分钟前
【遥感图像入门】遥感图像专用去噪算法:核心方案与实战(PyTorch代码)
pytorch·算法·计算机视觉·cv·遥感图像·高分辨率·去噪算法
qq_479875432 小时前
C++ 网络编程中的 Protobuf 消息分发 (Dispatcher) 设计模式
网络·c++·设计模式
前端小L2 小时前
回溯算法专题(八):精细化切割——还原合法的「IP 地址」
数据结构·算法
Tandy12356_2 小时前
手写TCP/IP协议——IP层输出处理
c语言·网络·c++·tcp/ip·计算机网络
博语小屋2 小时前
实现简单日志
linux·服务器·数据库·c++
Hcoco_me8 小时前
大模型面试题17:PCA算法详解及入门实操
算法
跨境卫士苏苏8 小时前
亚马逊AI广告革命:告别“猜心”,迎接“共创”时代
大数据·人工智能·算法·亚马逊·防关联
ZouZou老师8 小时前
C++设计模式之装饰器模式:以家具生产为例
c++·设计模式·装饰器模式
ZouZou老师8 小时前
C++设计模式之桥接模式:以家具生产为例
c++·设计模式·桥接模式
程序员小白条8 小时前
0经验如何找实习?
java·开发语言·数据结构·数据库·链表