Leetcode热题100(跳跃游戏 II)

题目描述

给定一个长度为 n0 索引 整数数组 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,题目也保证能到达最后的位置。

相关推荐
音视频牛哥27 分钟前
鸿蒙 NEXT RTSP/RTMP 播放器如何回调 RGB 数据并实现 AI 视觉算法分析
人工智能·算法·harmonyos·鸿蒙rtmp播放器·鸿蒙rtsp播放器·鸿蒙next rtsp播放器·鸿蒙next rtmp播放器
飞Link31 分钟前
掌控 Agent 的时空法则:LangGraph Checkpoint (检查点) 机制深度实战
开发语言·python·算法
乐迪信息37 分钟前
智慧港口中AI防爆摄像机的船舶越线识别功能
大数据·人工智能·物联网·算法·目标跟踪
黑客说38 分钟前
深耕AI,终破局:无限流游戏的核心创新之路
人工智能·游戏
F_D_Z44 分钟前
扩散模型快速采样:从渐进蒸馏到并行推理
人工智能·算法·加速采样
风酥糖1 小时前
Godot游戏练习01-第28节-显示效果与音效
游戏·游戏引擎·godot
睡一觉就好了。1 小时前
哈希表(一)
算法·散列表
輕華1 小时前
Word2Vec与CBOW算法实战:从词向量到上下文感知
人工智能·算法·word2vec
Matlab程序猿小助手1 小时前
【MATLAB源码-第315期】基于matlab的䲟鱼优化算法(ROA)无人机三维路径规划,输出做短路径图和适应度曲线.
开发语言·算法·matlab
圣保罗的大教堂1 小时前
leetcode 874. 模拟行走机器人 中等
leetcode