【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;
    }
};
相关推荐
yuguo.im几秒前
91 行代码实现一个打飞机游戏(HTML5 Canvas 版)
前端·游戏·html5·打飞机
故事和你91几秒前
sdut-程序设计基础Ⅰ-实验三while循环(1-10)
开发语言·数据结构·c++·算法·类和对象
再一次等风来3 分钟前
声源定位算法5----SRP-PHAT(1)
算法·信号处理·srp
Yupureki5 分钟前
《算法竞赛从入门到国奖》算法基础:数据结构-并查集
c语言·数据结构·c++·算法
DeepModel5 分钟前
【概率分布】伯努利分布详解
算法·概率论
再一次等风来6 分钟前
声源定位算法5----SRP-PHAT(2)
算法·信号处理·srp·声源定位·gcc-phat
Andy7 分钟前
Cpp语法1
c++·c
CappuccinoRose13 分钟前
MATLAB学习文档 - 汇总篇
学习·算法·matlab
艾莉丝努力练剑14 分钟前
静态地址重定位与动态地址重定位:Linux操作系统的视角
java·linux·运维·服务器·c语言·开发语言·c++
菜鸟小九15 分钟前
hot100(31-40)
java·算法