LeetCode 跳跃游戏 题解

2023-05-16

题述:

给定一个非负整数数组 nums ,你最初位于数组的 第一个下标

数组中的每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够到达最后一个下标。

思路:阅读题目我们可以发现只要数组里面没有0 我们就一定可以到达最后一下标。因此我们可以通过判断数组里面是否有0这个数字并结合是否可以越过0这个数字来判断是否能到达最后一个下标。但我这里要说的是一种更加简洁的办法。

我们记录在一个下标处最远能到达的位置,并且我们在每个下标往下一个下标跳的时候都尽量跳最远的距离,与此同时我们不断比较现在这个下标最远可以到达的位置是否超过或者恰好可以到达最后一个下标,如果可以返回true否则返回false。

题解:

#define newmax max<i+nums[i]?i+nums[i]:max
bool canJump(int* nums, int numsSize){
int max=0;
for(int i=0;i<numsSize;i++){
    if(max<i){
        return false;
    }
    max=newmax;
}
return true;
}

其中i+nums[i]即为当前下标最远可以到达的位置

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LeetCode 跳跃游戏 题解 的相关文章

随机推荐

  • 使用 supervisor 管理进程

    Supervisor 是一个用 Python 写的进程管理工具 xff0c 可以很方便的用来启动 重启 关闭进程 xff08 不仅仅是 Python 进程 xff09 除了对单个进程的控制 xff0c 还可以同时启动 关闭多个进程 xff0
  • ERRO[0000] unable to determine runtime API version: rpc error: code = Unavailable desc = connection

    遇到错误 xff1a ERRO 0000 unable to determine runtime API version rpc error code 61 Unavailable desc 61 connection error desc
  • kubelet Container runtime network not ready“ networkReady=“NetworkReady=false reason:NetworkPluginNo

    执行 xff1a systemctl status kubelet 报错信息 xff1a E1006 17 36 42 438319 433223 kubelet go 2373 34 Container runtime network n
  • 磁盘划分和磁盘格式化

    文章目录 列出装置的 UUID 等参数parted 列出磁盘的分区表类型与分区信息磁盘分区 xff1a gdisk fdisk用 gdisk 新增分区槽用 gdisk 删除一个分区槽 磁盘格式化 xff08 建立文件系统 xff09 XFS
  • tmux 最新版本安装

    tmux centos系统 安装依赖 yum install openssl devel wget https github com libevent libevent releases download release 2 1 12 st
  • 自动保存恢复tmux会话 关机重启再也不怕

    整个解决方案由三个tmux插件组成 需要注意的是 xff0c 使用这两个 Tmux 插件要求 Tmux 是 1 9 及以上版本 xff0c 如果不符合要求 xff0c 赶紧升级吧 可以参考 xff1a tmux安装最新版本 tpm xff1
  • parse error on line 1, column 4: bare “ in non-quoted-field

    golang报错 xff1a parse error on line 1 column 4 bare 34 in non quoted field 可能的原因是csv是windowns 导出的 xff0c 编码方式是UTF 8 BOM 方式
  • CPU和GPU性能指标收集

    这里的CPU是AMD的芯片 总的性能指标 Total mem Bw Total mem RdBw Total mem WrBw uperf PCIE 上行带宽 上行 网卡到内存 通过 uperf 查看 XGMI uperf NVLink 带
  • PX4 Bootloader解析

    1 引言 半年前入手了Pixhawk V2全套硬件 xff0c 编译好的开源固件也下了 xff0c 四轴也飞了 xff0c 一直想对这套开源飞控进行一个系统地解析 xff0c 由于工作原因一直没时间 最近翻开了PX4飞控源代码 xff0c
  • 进程内存使用

    查看进程内存使用 28028 是进程的pid top p 28028 还可以查看进程的status文件 xff1a cat proc 28028 status VmRSS对应的值就是物理内存占用 内存占用比较多的程序 ps aux sort
  • perf使用

    perf可记录高达700多种events事件 sudo perf list 可以查看可以perf的事件 sudo perf record F 999 e cpu clock faults a g p 28544 sleep 60 制定进程7
  • gperftools

    gperftools 实现了更高性能的多线程的malloc 实现 增加了极好的性能分析工具 gperftools 的前身是 pprof https github com google pprof sudo apt get install a
  • RDMA 设备查看

    1硬件检测 1 1检查硬件是否安装 确认硬件已安装 lspci tvm grep Mellanox 查看OFED驱动版本命令 如果没有驱动可以参考 https km sankuai com page 335338645 安装 rpm qa
  • spark 转换tfrecord 成parquet格式

    读取tfrecord 成parquet文件格式 read tfrecord py coding utf 8 34 34 34 读取tfrecord生成parquet文件格式 34 34 34 import os import time im
  • ffmpeg压缩视频

    安装ffmpeg conda install c conda forge x264 61 61 39 1 161 3030 39 ffmpeg 61 4 3 2 压缩mov视频 ffmpeg i movie mov c v libx264
  • AI行动,解放做表打工人

    1 atomecho 插件介绍 如果你是个 需要做财报 数据新闻的冤种 xff1b 或者是 网上有的我都想要 的囤积狂魔 xff1b 或是沉迷 Ctrl 43 C Ctrl 43 V 的做表工具人 那你一定不陌生 对不上的格式 找不到的数据
  • golang高性能rocksdb参数配置

    golang高性能rocksdb参数配置 import 34 errors 34 34 log 34 34 monorepo service autotable comm grocksdb 34 34 strings 34 34 githu
  • Linux doc和docx转换pdf

    准备工作 服务器安装libreoffice apt get install libreoffice 安装完成libreoffice后 xff0c 测试是否安装成功 soffice h 例子 把 tmp test docx 转换成 tmp t
  • 多个硬盘挂载到同一个目录

    同一目录无法重复挂载 xff0c 后挂载的会覆盖之前挂载的磁盘 但是现在需要将4块磁盘并行挂载 xff0c 该如何操作呢 xff1f 将2块磁盘合并到一个逻辑卷 进行挂载 基本知识 基本概念PV Physical Volume 物理卷物理卷
  • LeetCode 跳跃游戏 题解

    题述 xff1a 给定一个非负整数数组 nums xff0c 你最初位于数组的 第一个下标 数组中的每个元素代表你在该位置可以跳跃的最大长度 判断你是否能够到达最后一个下标 思路 xff1a 阅读题目我们可以发现只要数组里面没有0 我们就一