【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;
    }
};
相关推荐
寻寻觅觅☆7 分钟前
东华OJ-基础题-86-字符串统计(C++)
开发语言·c++·算法
楼田莉子7 分钟前
Linux学习:进程信号
linux·运维·服务器·c++·学习
D.不吃西红柿8 分钟前
CPM.cmake轻量级包管理器
c++·cmake·cpm.cmake
偷吃的耗子9 分钟前
【CNN算法理解】:MNIST手写数字识别训练过程
算法·机器学习·cnn
●VON11 分钟前
React Native for OpenHarmony:井字棋游戏的开发与跨平台适配实践
学习·react native·react.js·游戏·性能优化·交互
念越15 分钟前
从概念到实现:深入解析七大经典排序算法
java·算法·排序算法
绿浪198415 分钟前
C#与C++高效互操作指南
c++·c#
CSDN_RTKLIB16 分钟前
std::string打印原始字节查看是否乱码
c++
shilei_c20 分钟前
qt qDebug无输出问题解决
开发语言·c++·算法
秋深枫叶红23 分钟前
嵌入式C语言阶段复习——函数
c语言·数据结构·算法