13.跳跃游戏

ops/2024/11/13 10:46:29/

文章目录

  • 题目简介
  • 题目解答
    • 解法一:贪心算法+动态规划
      • 代码:
      • 复杂度分析:
  • 题目链接

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

题目简介

在这里插入图片描述

题目解答

思路:这样以来,我们依次遍历数组中的每一个位置,并实时维护最远可以到达的位置。对于当前遍历到的位置 i,如果它在最远可以到达的位置 的范围内,那么我们就可以从起点通过若干次跳跃到达该位置,因此我们可以用 i+nums[i]更新 最远可以到达的位置。

在遍历的过程中,如果最远可以到达的位置大于等于数组中的最后一个位置,那就说明最后一个位置可达,我们就可以直接返回 True 作为答案。反之,如果在遍历结束后,最后一个位置仍然不可达,我们就返回 False 作为答案。

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

代码:

java">class Solution {public static boolean canJump(int[] nums) {if (nums == null) {return false;}//前n-1个元素能够跳到的最远距离int k = 0;for (int i = 0; i <= k; i++) {//第i个元素能够跳到的最远距离int temp = i + nums[i];//更新最远距离k = Math.max(k, temp);//如果最远距离已经大于或等于最后一个元素的下标,则说明能跳过去,退出. 减少循环if (k >= nums.length - 1) {return true;}}//最远距离k不再改变,且没有到末尾元素return false;}
}

代码注释很好的解释了每一行代码是干嘛的,看不懂的可以参考注释。
这里引入一个话方便大家理解i和k是什么:k好比修路,只要前面一直有修好的路,i(人)就能一直往前走。

复杂度分析:

  • 时间复杂度:O(n),其中n为数组的大小。只需要访问nums数组一遍,共n个位置。
  • 空间复杂度:O(1),不需要额外的空间开销。

题目链接

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


http://www.ppmy.cn/ops/40754.html

相关文章

BUG:PyAutoGUI pyautogui.ImageNotFoundException

BUG:PyAutoGUI pyautogui.ImageNotFoundException 环境 python 3.10 PyAutoGUI0.9.54 PyScreeze0.1.30BUG详情 在确定屏幕存在指定图片的情况下&#xff0c;使用PyAutoGUI中的locateCenterOnScreen()函数识别图片失败弹出这个bug。 注意&#xff1a; 1 如果屏幕不存在指定图…

电影网站|基于SSM+vue的电影网站系统(源码+数据库+文档)

电影网站 目录 基于SSMvue的电影网站系统 一、前言 二、系统设计 三、系统功能设计 1 系统功能模块 2 管理员功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布道…

IT行业现状与未来趋势

你眼中的IT行业现状与未来趋势 IT行业当前处于高速发展阶段&#xff0c;涵盖了各种技术领域&#xff0c;如人工智能、大数据、云计算、物联网、区块链等。以下是我眼中的一些现状和未来趋势&#xff1a; 1. 人工智能&#xff08;AI&#xff09;的普及和应用广泛化&#xff1a…

一次pytorch分布式训练精度调试过程

现象: loss不下降 过程如下: 1.减少层数&#xff0c;准备最小复现环境 2.dropout设置为0&#xff0c;重复运行二次&#xff0c;对比loss是否一致 3.第二次迭代开始loss不一致 4.对比backward之后的梯度,发现某一个梯度不一致 5.dump得到所有算子的规模&#xff0c;单算子测试…

Cocos Creator 3.8.x报错:5302

在小游戏加载某个bundle后&#xff0c;如果报以下错误&#xff1a; 5302&#xff1a;Can not find class %s 说明bundle中某个预制件*.prefab引用了未加载的bundle的资源。 解决方法有两个&#xff1a; 1、将引用的资源移到预制件*.prefab相同的bundle下&#xff1b; 2、将…

三极管 导通条件

一、三极管理解 三极管是电子行业常用的元器件之一&#xff0c;他是一种电流型控制的器件&#xff0c;他有三种工作状态&#xff1a;截止区&#xff0c;放大区、饱和区。当三极管当做开关使用时&#xff0c;他工作在饱和区。下面简短讲解三极管作为开关使用的方法&#xff0c;只…

OpenMVS学习笔记(一):WSL编译安装测试

1.CUDA和CUDNN安装 [1] WSL版本cuda安装&#xff1a; >> wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin >> sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600 >> wg…

Redis 基础之Redis 配置

Redis 配置 Redis CONFIG GET 命令语法格式编辑配置Redis 配置参数说明 Redis 提供了很多配置选项来优化 Redis 服务 Redis 的配置文件位于 Redis 安装目录下&#xff0c;文件名为 redis.conf 可以通过 Redis CONFIG 命令查看或设置配置项 Redis CONFIG GET 命令语法格式 Re…