力扣55. 跳跃游戏(动态规划)

Problem: 55. 跳跃游戏

文章目录

题目描述

思路

我们将问题稍做转换每次求取当前位置可以走到的最远位置 ,在此基础上我们将最终判断是否能走出整个nums;同时我们要判断中途会不会遇到某个位置是0使得不能继续走下去

复杂度

时间复杂度:

O ( n ) O(n) O(n);其中 n n n为数组nums的大小

空间复杂度:

O ( 1 ) O(1) O(1);

Code

cpp 复制代码
class Solution {
public:
    /**
     * Dynamic programming
     * 
     * @param nums Given array
     * @return bool
     */
    bool canJump(vector<int>& nums) {
        int n = nums.size();
        int farthest = 0;
        for (int i = 0; i < n - 1; ++i) {
            farthest = max(farthest, i + nums[i]);
            //Meet to 0
            if (farthest <= i) {
                return false;
            }
        }
        return farthest >= n - 1;
    }
};
相关推荐
Ivan CloudBay31 分钟前
SDK 游戏盾如何隐藏游戏服务器的真实 IP?
服务器·tcp/ip·游戏
魔术师Dix40 分钟前
StartGame:Unity TDD 外部工程指南
学习·游戏·unity·c#·测试驱动开发
海绵天哥2 小时前
LeetCode Hot 100 | 链表(下)· 分组翻转与设计(C++ 题解)
c++·leetcode·链表
我要见SA姐111 小时前
AI提示词遇见精密算法:TimeGuessr如何用数学魔法打造文化游戏新体验
人工智能·算法·游戏
tkevinjd17 小时前
力扣131-分割回文串
算法·leetcode·深度优先
星空露珠19 小时前
迷你世界3.0API,事件监听
开发语言·数据结构·数据库·游戏·lua
Sw1zzle19 小时前
算法入门(七):动态规划 - 网格路径 (Leetcode 62 / 63)
算法·动态规划
zander25820 小时前
LeetCode 78. 子集
算法·leetcode·深度优先
迷茫中的自我21 小时前
SoundGate Guitar 智能音乐创作与教学应用场景
数据结构·动态规划
Tisfy1 天前
LeetCode 3014.输入单词需要的最少按键次数 I:遍历 / if-else计算(比纯数学公式写起来麻烦但好想)
数学·算法·leetcode·字符串·题解·贪心