LeetCode.55 跳跃游戏

LeetCode.55 跳跃游戏

题目描述

解题思路

错误的解题思路

我一开始的思路是累加可跳范围内的最大值sum,如果最终sum >= nums.size()那么就返回true,这种思路是错误的,因为在你选择最大值的时候,你并没有对每个格子选择能跳最远的距离进行跳跃。

解题思路

  • 如果某一个作为 起跳点 的格子可以跳跃的距离是 3,那么表示后面 3 个格子都可以作为 起跳点
  • 可以对每一个能作为 起跳点 的格子都尝试跳一次,把 能跳到最远的距离 不断更新
  • 如果可以一直跳到最后,就成功了

代码

cpp 复制代码
class Solution {
public:
    bool canJump(vector<int>& nums) {
        int max_cover = 0;
        for (int i = 0; i < nums.size(); i++) {
            if (max_cover < i) return false;
            max_cover = max(nums[i] + i, max_cover);
        }
        return true;
    }
};
相关推荐
明明如月学长16 小时前
AI 更新太快学不过来?我用OpenClaw打造专属AI学习工作流
算法
黎阳之光16 小时前
【黎阳之光:以无线专网与视频孪生,赋能智慧广电与数字中国】
算法·安全·智慧城市·数字孪生
刀法如飞17 小时前
Agentic AI时代,程序员必备的算法思想指南
人工智能·算法·agent
刀法如飞17 小时前
Agentic AI时代程序员必备算法思想详解(附实战案例)
算法·ai编程·编程开发·agentic
飞Link18 小时前
告别盲目找Bug:深度解析 TSTD 异常检测中的预测模型(Python 实战版)
开发语言·python·算法·bug
记忆多19 小时前
c++名字空间 函数模版 左右值
开发语言·c++·算法
三伏52219 小时前
控制理论前置知识——相平面数学基础2(示例部分)
算法·平面·控制
2401_8898846619 小时前
高性能计算通信库
开发语言·c++·算法
不想看见40420 小时前
Hamming Distance位运算基础问题--力扣101算法题解笔记
算法
像污秽一样20 小时前
算法与设计与分析-习题4.1
算法·链表·排序算法