首页 > 其他分享 >刷刷刷 Day 32 | 45. 跳跃游戏 II

刷刷刷 Day 32 | 45. 跳跃游戏 II

时间:2023-02-15 09:35:14浏览次数:56  
标签:下标 nums int 32 45 II 跳跃 步数

45. 跳跃游戏 II

LeetCode题目要求

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

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

0 <= j <= nums[i] 
i + j < n
返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。

示例

输入: nums = [2,3,1,1,4]
输出: 2
解释: 跳到最后一个位置的最小跳跃数是 2。
     从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。
解题思路

本题要计算最小步数,那么就要想清楚什么时候步数才一定要加一呢?
贪心的思路,局部最优:当前可移动距离尽可能多走,如果还没到终点,步数再加一。整体最优:一步尽可能多走,从而达到最小步数

上代码

class Solution {
    public int jump(int[] nums) {
        int result = 0;
        // 当前覆盖的最远距离下标
        int end = 0;
        // 下一步覆盖的最远距离下标
        int temp = 0;
        for (int i = 0; i <= end && end < nums.length - 1; ++i) {
            temp = Math.max(temp, i + nums[i]);
            // 可达位置的改变次数就是跳跃次数
            if (i == end) {
                end = temp;
                result++;
            }
        }
        return result;
    }
}
重难点

附:学习资料链接

标签:下标,nums,int,32,45,II,跳跃,步数
From: https://www.cnblogs.com/blacksonny/p/17121553.html

相关文章

  • 剑指 Offer 53 - II. 0~n-1中缺失的数字
    题目:思路:【1】最简单的直接遍历的方式:这个思路是基于,首先一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内,这就说明了这是一串连续的数......
  • 344.反转字符串 & 541. 反转字符串II & 剑指Offer 05.替换空格 & 151.翻转字符串里的
    一、反转字符串344.反转字符串1.方法概述双引用法。创建两个引用left和right,left指向字符数组的开端,right指向字符数组的末端,再进行交换即可。2.具体实现Java实现......
  • 算法随想Day12【二叉树】| LC144、LC145、LC94-二叉树的前中后序遍历
    LC144、LC145、LC94-二叉树的前中后遍历二叉树递归遍历比较容易实现二叉树非递归遍历迭代法需要通过使用“栈”来模拟递归的过程前序遍历:放入root节点,弹出每个节点时......
  • STM32 SPI硬件NSS
    STM32SPI硬件NSSSTM32F1的SPINSS引脚并不是通常认为的,打开硬件NSS后在发送数据的时候NSS输出低,去片选从设备,在发送完成后释放从设备,硬件NSS而是用来实现多主机模式的。......
  • 刷刷刷 Day 32 | 55. 跳跃游戏
    55.跳跃游戏LeetCode题目要求给定一个非负整数数组nums,你最初位于数组的第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最......
  • STM32定时器TIM_OC1PreloadConfig、TIM_ARRPreloadConfig函数详解
    ———————————————————————————————————————————版权声明:本文为CSDN博主「qlexcel」的原创文章,遵循CC4.0BY-SA版权协议,转载请......
  • 省选联测32
    nnd考不动了,脑子不转了已经A.光明正解做法是\(O(n)\)的,长剖一下,在链上差分贡献,但是貌似常数极大,不知道为啥开六秒。赛时写的是两个log的二分加启发式,实际表现和\(O(n)\)......
  • iis 固定回收问题
    项目背景:站点有一个计算业务场景,耗时较久。  偶发性发生:进度条过程中,发生卡死。日志没有然后记录。  查看windows事件,问题时间有was 自动回收......
  • 1320 - 时钟旋转(1)
       ......
  • 1323 - 扩建花圃问题
         ......