力扣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;
    }
};
相关推荐
evans在进步5 分钟前
LeetCode 53 最大子数组和:一次遍历掌握 Kadane 算法
算法·leetcode·职场和发展
Nil20833 分钟前
leetcode 230二叉搜索树中第k小的元素
算法·leetcode·职场和发展
旖旎夜光41 分钟前
LeetCode 69:x 的平方根(二分查找) —— 题解
数据结构·c++·算法·leetcode·二分查找
学习星球1 小时前
【LeetCode算法题精讲】图算法精讲——从图遍历到拓扑排序
数据结构·算法·leetcode·图搜索
糖醋_诗酒13 小时前
游戏产品经理 - 蚂蚁外包 - 一面凉经
游戏·产品经理
Nil20816 小时前
leetcode 98验证二叉搜索树
算法·leetcode·职场和发展
yangmu320317 小时前
龙胤立志传MOD生态深度解析与安装指南
游戏·游戏程序
时针滴滴答啊20 小时前
最大子数组和
算法·leetcode·职场和发展
重生之后端学习1 天前
15. 三数之和[中等]✅
java·数据结构·算法·leetcode·职场和发展