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;
    }
};
相关推荐
big_rabbit05024 分钟前
[算法][力扣219]存在重复元素2
数据结构·算法·leetcode
闻缺陷则喜何志丹11 分钟前
【构造 前缀和】P8902 [USACO22DEC] Range Reconstruction S|普及+
c++·算法·前缀和·洛谷·构造
摸鱼仙人~13 分钟前
动态规划求解 20 个通用模板
算法·动态规划
记忆多18 分钟前
c++内联函数
算法
仟濹31 分钟前
【算法打卡day20(2026-03-12 周四)算法/技巧:哈希表,双指针,字符串交换处理】5个题
数据结构·算法·散列表
陌夏32 分钟前
双指针与滑动窗口
算法
MicroTech202541 分钟前
MLGO微算法科技,推出革命性量子算法ANQITE,推动量子计算新时代
科技·算法·量子计算
样例过了就是过了1 小时前
LeetCode热题100 子集
数据结构·c++·算法·leetcode·dfs
I_LPL1 小时前
day52 代码随想录算法训练营 图论专题5
java·算法·图论·并查集
jing-ya1 小时前
day 49 图论part1
算法·深度优先·图论