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;
    }
};
相关推荐
长安er3 小时前
LeetCode215/347/295 堆相关理论与题目
java·数据结构·算法·leetcode·
元亓亓亓3 小时前
LeetCode热题100--62. 不同路径--中等
算法·leetcode·职场和发展
小白菜又菜3 小时前
Leetcode 1925. Count Square Sum Triples
算法·leetcode
登山人在路上4 小时前
Nginx三种会话保持算法对比
算法·哈希算法·散列表
写代码的小球4 小时前
C++计算器(学生版)
c++·算法
AI科技星5 小时前
张祥前统一场论宇宙大统一方程的求导验证
服务器·人工智能·科技·线性代数·算法·生活
Fuly10245 小时前
大模型剪枝(Pruning)技术简介
算法·机器学习·剪枝
Xの哲學5 小时前
Linux网卡注册流程深度解析: 从硬件探测到网络栈
linux·服务器·网络·算法·边缘计算
bubiyoushang8885 小时前
二维地质模型的表面重力值和重力异常计算
算法
仙俊红6 小时前
LeetCode322零钱兑换
算法