【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;
    }
};
相关推荐
wuminyu5 分钟前
虚拟线程底层ForkJoinPool的工作窃取算法机制
java·linux·c语言·jvm·c++
吹什么轩14 分钟前
c++复习:c++11:lambda表达式
开发语言·c++
不会代码的小猴30 分钟前
标准模板库(STL)
开发语言·c++·笔记·算法
ZhouDevin34 分钟前
算法论文/高效微调4——DoRA:权重分解的低秩适配方法
算法
evans在进步1 小时前
LeetCode 200:岛屿数量——Java DFS 染色法详解
java·leetcode·深度优先
AI探索先锋1 小时前
A* 路径规划:四种算法的进化史-学习
学习·算法
旖旎夜光1 小时前
LeetCode 202:快乐数(双指针问题) —— 题解
数据结构·c++·算法·leetcode·双指针
tudousisi2221 小时前
P1216 [IOI 1994 / USACO1.5] 数字三角形 题解复盘
c++
cpp_25012 小时前
P1113 [USACO02FEB] 杂务
数据结构·c++·算法·动态规划·图论·拓扑排序·洛谷题解
月光船幽幽2 小时前
门控函数SHS阈值与调制机制解析
人工智能·python·算法