【LeetCode】55.跳跃游戏

题目链接:

55.跳跃游戏

题目描述:

解题思路:

  • 如果某一个位置的元素为N,表示后面N个位置都可以作为起跳点
  • 把每一个能作为起跳点的位置都进行尝试,不断更新能跳到的最远位置

复杂度分析:

  • 时间复杂度O(N)
  • 空间复杂度O(1)

代码实现:

cpp 复制代码
class Solution {
public:
    bool canJump(vector<int>& nums) {
        int temp = 0;
        int n = nums.size();

        for (int i=0; i<n; i++){
            if(i> temp) return false;
            temp = max(temp, i+nums[i]);
        }
        return true;
    }
};
相关推荐
Trouvaille ~2 分钟前
【Redis篇】Hash 哈希:字段级操作与对象存储的最佳实践
数据库·redis·后端·算法·缓存·哈希算法·键值对
悠仁さん10 分钟前
数据结构 树 二叉树 堆 (链式二叉树模拟实现篇)
数据结构·算法
魔法阵维护师10 分钟前
从零开发游戏需要学习的c#模块,第二十七章(远程攻击 —— 发射子弹)
学习·游戏·c#
z2005093021 分钟前
今日算法(带回文问题的回溯)
算法·leetcode·回溯
洛水水22 分钟前
【力扣100题】55.编辑距离
算法·leetcode·动态规划
人间乄惊鸿客23 分钟前
c++自记录
java·开发语言·c++
MC皮蛋侠客29 分钟前
C++17 多线程系列(一):线程基础——std::thread 完全指南
开发语言·c++·多线程
Raink老师35 分钟前
【AI面试临阵磨枪-75】游戏 AI Agent:NPC、剧情生成、攻略助手、社区问答、黑话适配
人工智能·游戏·面试
洛水水36 分钟前
【力扣100题】62.滑动窗口最大值
数据结构·算法·leetcode
IronMurphy40 分钟前
算法五十一 64. 最小路径和
算法