力扣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;
    }
};
相关推荐
重生之我是Java开发战士几秒前
【递归、搜索与回溯】优美的排列,N皇后,有效的数独,解数独,单词搜索,黄金矿工,不同路径III
算法·深度优先
ejjdhdjdjdjdjjsl6 分钟前
halcon算子
人工智能·算法·计算机视觉
Aawy12010 分钟前
C++与Rust交互编程
开发语言·c++·算法
某林21211 分钟前
主流 3D SLAM 算法核心架构深度解析:VINS、ORB-SLAM3 与 FAST-LIO
算法·3d·架构
Sakinol#15 分钟前
Leetcode Hot 100 ——动态规划part01
leetcode·动态规划
渔民小镇17 分钟前
不止 request/response —— ionet 的 4 种通信模型选型指南
java·服务器·游戏
做一个码农都是奢望20 分钟前
计算机控制系统:最小拍控制系统设计入门
数据结构·算法
米粒124 分钟前
力扣算法刷题 Day 16
算法·leetcode·职场和发展
重生之后端学习24 分钟前
31. 下一个排列
数据结构·算法·leetcode·职场和发展·排序算法·深度优先