力扣45. 跳跃游戏 II

Problem: 45. 跳跃游戏 II

文章目录

题目描述

思路

Problem: 55.跳跃游戏
该题在上述的基础上,我们每次先求取当前可跳区间内的最远距离farthest;每当走到当前的区间胃部时(end == i):跳跃步数加一(jumps++),同时将下一次的可跳的最远区间更新(end = farthest;)

复杂度

时间复杂度:

O ( n ) O(n) O(n);其中 n n n为数组nums的大小

空间复杂度:

O ( 1 ) O(1) O(1)

Code

cpp 复制代码
class Solution {
public:
    int jump(vector<int>& nums) {
        int n = nums.size();
        int end = 0;
        int farthest = 0;
        int jumps = 0;
        for (int i = 0; i < n - 1; ++i) {
            farthest = max(farthest, i + nums[i]);
            if (end == i) {
                jumps++;
                end = farthest;
            }
        }
        return jumps;
    }
};
相关推荐
地平线开发者1 分钟前
模型部署|如何解决算子约束
深度学习·算法·自动驾驶
Navigator_Z35 分钟前
LeetCode //C - 1254. Number of Closed Islands
c语言·算法·leetcode
deepseek2337 分钟前
GPT-6 Astra 破解 FrontierMath 九年悬案拆解:调和熵投票规则反证核恒非空,局部搜索如何终结反例悬赏
人工智能·算法·ai agent
syagain_zsx1 小时前
算法基础篇 · 04 前缀和(C++ 题解)
c++·算法·前缀和
青山是哪个青山2 小时前
LeetCode 123:买卖股票的最佳时机 III
算法
Zane19943 小时前
写对二分查找有多难?Java集合框架的作者也曾栽在一行mid计算上
算法
Lokey8683 小时前
transformer结构
算法
罗斯8393 小时前
EMBER恶意软件基准数据集
人工智能·算法·安全·网络安全
0+1113 小时前
算法 --二分查找
c++·算法·leetcode
圣保罗的大教堂3 小时前
leetcode 1674. 使数组互补的最少操作次数 中等
leetcode