Leetcode热题100(跳跃游戏 II)

题目描述

给定一个长度为 n 的 0 索引 整数数组 nums。初始位置在下标 0。

每个元素 nums[i] 表示从索引 i 向后跳转的最大长度。换句话说,如果你在索引 i 处,你可以跳转到任意 (i + j) 处:

  • 0 <= j <= nums[i] 且
  • i + j < n

返回到达 n - 1 的最小跳跃次数。测试用例保证可以到达 n - 1。

题解:

java 复制代码
class Solution {
    public int jump(int[] nums) {
        int end = 0;
        int maxPosition = 0;
        int steps = 0;
        for(int i = 0; i < nums.length - 1;i++){
            maxPosition = Math.max(maxPosition,nums[i]+i);
            if(i == end){
                end = maxPosition;
                steps++;
            }
        }
        return steps;
    }
}

思路:

本题的关键在于怎么判断该路径是不是次数最小的路径,需要使用一个变量记录能跳的最远的位置。当前位置等于能跳的最远的位置才更新能跳的最远的位置,同时步数加1,并且不要遍历最后一个元素,因为i==0的使用步数已经加1,题目也保证能到达最后的位置。

相关推荐
维克兜率天1 分钟前
【维克】价差交易实战:配对交易的核心参数设置
大数据·笔记·算法·量化
dtq04242 分钟前
数据结构 - 树的概念
c语言·数据结构·学习·算法
晒太羊的猫2 分钟前
hot100多维动态规划刷题
算法·动态规划
勤劳X码农7 分钟前
2026年游戏解说AI配音软件怎么选?
人工智能·游戏
Dream it possible!7 分钟前
LeetCode_热题100_知识点总结
算法·leetcode·职场和发展
鶴哥只手遮天7 分钟前
从像素到战场:红外场景仿真引擎的核心技术深度解析
算法
神奇的小猴程序员9 分钟前
游戏像素资产生成工具
游戏
anew___9 分钟前
《从零手写操作系统 (19):Ext2文件系统实战——从内存到磁盘的跨越》
java·服务器·前端·数据库·算法
盘古开天166612 分钟前
PPO算法原理详解(上):从策略梯度到近端策略优化的演进之路
人工智能·算法·机器学习·强化学习·ppo
云栈开源日记14 分钟前
机器人运动规划从A*到Minimum Snap四大算法全解析
算法·ai·机器人