14.跳跃游戏Ⅱ


大家好,我是晓星航。今天为大家带来的是 跳跃游戏Ⅱ 相关的讲解!😀

题目简介

在这里插入图片描述

题目解答

解法一:贪心算法+动态规划

思路:想象你在玩大富翁,回合制游戏,随身带的钱决定你每回合最多可以走多少格,需要以最短的回合数到达终点。 格子里面的数字代表“钱”,每回合你需要停留在格子里休息得到补充的“钱”才能继续行走。 每次走到一个格子的时候,你需要估计预算在下一个回合能走多少格,哪个格子的钱最多,下一回合就去那个格子 。但是前面的格子里有多少钱有战争迷雾看不到,要到了才知道。 border 指本回合能走的最远位置,即钱用完了就不能继续往前了 maxPosition 就是钱
在这里插入图片描述

代码:

class Solution {
    public int jump(int[] nums) {
        // 记录当前能跳跃到的位置的边界下标
        int border = 0;
        // 记录在边界范围内,能跳跃的最远位置的下标
        int maxPosition = 0;
        // 记录所用步数
        int steps = 0;
        for(int i=0;i<nums.length-1;i++){
            // 继续往下遍历,统计边界范围内,哪一格能跳得更远,每走一步就更新一次能跳跃的最远位置下标
            // 其实就是在统计下一步的最优情况
            maxPosition = Math.max(maxPosition,nums[i]+i);
            // 如果到达了边界,那么一定要跳了,下一跳的边界下标就是之前统计的最优情况maxPosition,并且步数加1
            if(i==border){
                border = maxPosition;
                steps++;
            }
        }
        return steps;
    }
}

代码注释很好的解释了每一行代码是干嘛的,看不懂的可以参考注释。

复杂度分析:

  • 时间复杂度:O(n),其中 n 是数组长度。
  • 空间复杂度:O(1)。

题目链接

45. 跳跃游戏 II
感谢各位读者的阅读,本文章有任何错误都可以在评论区发表你们的意见,我会对文章进行改正的。如果本文章对你有帮助请动一动你们敏捷的小手点一点赞,你的每一次鼓励都是作者创作的动力哦!😘

相关推荐

  1. 【leetcode面试经典150题】10.跳跃游戏 II(C++)

    2024-05-12 09:24:05       18 阅读
  2. 跳跃游戏 + 45. 跳跃游戏 II

    2024-05-12 09:24:05       44 阅读
  3. 45. 跳跃游戏 II

    2024-05-12 09:24:05       36 阅读
  4. 45.跳跃游戏

    2024-05-12 09:24:05       28 阅读
  5. 55.跳跃游戏

    2024-05-12 09:24:05       32 阅读
  6. 55. 跳跃游戏

    2024-05-12 09:24:05       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-12 09:24:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-12 09:24:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-12 09:24:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-12 09:24:05       18 阅读

热门阅读

  1. 【socket】 linux C++ socket 优化参数

    2024-05-12 09:24:05       7 阅读
  2. Jtti:怎么检测香港服务器的响应速度?

    2024-05-12 09:24:05       12 阅读
  3. 服务器硬件命令查看

    2024-05-12 09:24:05       9 阅读
  4. k8s部署针对外部服务器的prometheus服务

    2024-05-12 09:24:05       9 阅读
  5. LeetCode 题目 118:杨辉三角

    2024-05-12 09:24:05       10 阅读
  6. C语言经典例题-7

    2024-05-12 09:24:05       9 阅读
  7. ffmpeg解析rtsp流获取视频的宽高

    2024-05-12 09:24:05       14 阅读