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;
    }
};
相关推荐
Frostnova丶12 小时前
LeetCode 1356. 根据数字二进制下1的数目排序
数据结构·算法·leetcode
GEO行业研究员12 小时前
AI是否正在重构个体在健康相关场景中的决策路径——基于系统建模与决策链条结构分析的讨论
人工智能·算法·重构·geo优化·医疗geo·医疗geo优化
岛雨QA12 小时前
哈希表「Java数据结构与算法学习笔记8」
数据结构·算法
独自破碎E12 小时前
【DFS】BISHI76 迷宫寻路
算法·深度优先
寄存器漫游者12 小时前
Linux 线程间通信
数据库·算法
岛雨QA13 小时前
查找算法「Java数据结构与算法学习笔记7」
数据结构·算法
宝贝儿好13 小时前
【强化学习】第十章:连续动作空间强化学习:随机高斯策略、DPG算法
人工智能·python·深度学习·算法·机器人
isyoungboy13 小时前
从图像中提取亚像素边缘点
算法
郝学胜-神的一滴13 小时前
深入理解链表:从基础到实践
开发语言·数据结构·c++·算法·链表·架构
岛雨QA13 小时前
排序算法「Java数据结构与算法学习笔记6」
数据结构·算法