【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;
    }
};
相关推荐
Larry_Yanan10 小时前
Qt多进程(一)进程间通信概括
开发语言·c++·qt·学习
superman超哥10 小时前
仓颉语言中基本数据类型的深度剖析与工程实践
c语言·开发语言·python·算法·仓颉
Learner__Q11 小时前
每天五分钟:滑动窗口-LeetCode高频题解析_day3
python·算法·leetcode
J ..11 小时前
C++ 多线程编程基础与 std::thread 使用
c++
你的冰西瓜11 小时前
C++标准模板库(STL)全面解析
开发语言·c++·stl
阿昭L11 小时前
leetcode链表相交
算法·leetcode·链表
闻缺陷则喜何志丹11 小时前
【计算几何】仿射变换与齐次矩阵
c++·数学·算法·矩阵·计算几何
chen_ever11 小时前
Protobuf详解(从安装到实战)
c++·rpc·信息与通信
liuyao_xianhui11 小时前
0~n-1中缺失的数字_优选算法(二分查找)
算法
hmbbcsm12 小时前
python做题小记(八)
开发语言·c++·算法