【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;
    }
};
相关推荐
泷寂5 小时前
最小生成树 (MST基础)
算法
Daniel_1235 小时前
数组——总结篇
算法
炸薯条!6 小时前
从零开始学C++ (内存管理)
java·jvm·c++
不懒不懒6 小时前
【针对路面识别数据集,结合三轴加速度标准化数据及多路面识别需求,以下是算法选择与处理方案】
算法
Reart6 小时前
Leetcode 121. 买卖股票的最佳时机(717)
后端·算法
会编程的小孩6 小时前
初识数据类型以及变量定义
数据结构·算法
Reart6 小时前
Leetcode 337.打家劫舍3(717)
后端·算法
梅梅绵绵冰6 小时前
数据结构-时间复杂度
数据结构·算法
遥感知识服务6 小时前
盐碱地、白屋顶和裸土都很亮,卫星怎样分清?
人工智能·算法·机器学习
可编程芯片开发6 小时前
基于PID控制器的车辆控制系统simulink建模与仿真
算法