当前位置: 首页 > news >正文

【LeetCode】55.跳跃游戏

题目

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

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

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

示例 1:

输入:nums = [2,3,1,1,4]
输出:true
解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。

示例 2:

输入:nums = [3,2,1,0,4]
输出:false
解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。

提示:

  • 1 <= nums.length <= 3 * 10^4
  • 0 <= nums[i] <= 10^5

解答

源代码

class Solution {public boolean canJump(int[] nums) {// k表示最远能够走到哪个下标int k = 0;// i代表现在走到哪个下标for (int i = 0; i < nums.length; i++) {if (i > k) {return false;}k = Math.max(k, i + nums[i]);}return true;}
}

总结

这个题不用想得太复杂,就直接把遍历数组想象成走路,计算出当前可到达的最远下标,在向前走时不断对比更新可到达的最远下标,若当前走到的下标已经大于可到达的最远下标,那就表示这个数组没办法到达最后一个下标。

http://www.lryc.cn/news/96005.html

相关文章:

  • Docker学习路线12:开发者体验
  • 后端服务迁移方案及过程记录
  • StAX解析
  • [MCU]AUTOSAR COM STACK - CAN协议栈
  • React:从 npx开始
  • 力扣热门100题之接雨水【困难】
  • Stable-Diffusion-Webui部署SDXL0.9报错参数shape不匹配解决
  • Springboot @Async 多线程获取返回值
  • 怎样接入chatGPT
  • Docker consul容器服务更新与发现
  • [算法很美打卡] 多维数组篇 (打卡第一天)
  • 微服务系列(1)-who i am?
  • 记录这这段时间发生的事情。
  • 发布npm包流程
  • 面试官:Redis 为什么变慢了?怎么解决?
  • Docker:开启应用程序开发新篇章的利器
  • Python面向对象(三)(继承、封装)
  • Redis Stream 流的深度解析与实现高级消息队列【一万字】
  • 一个灵活、现代的Android应用架构
  • redis高级篇 springboot+redis+bloomfilter实现过滤案例
  • mybatis学习笔记之在WEB中应用MyBatis
  • 宿主可以访问公网 Docker容器里无法访问 Temporary failure in name resolution
  • CentOS7系统MBR、GRUB2、内核启动流程报错问题
  • 剑指YOLOv5改进最新MPDIoU损失函数(23年7月首发论文):超越现有多种G/D/C/EIoU,高效准确的边界框回归的损失,高效涨点
  • CAN bus off ——ISO11898
  • 如何评测一个大语言模型?
  • React中useMemo和useCallback的区别
  • SpringBoot 快速实现IP地址解析
  • 亚马逊、速卖通,阿里国际等平台测评如何用自养号测评补单
  • ubuntu挂载ext4文件系统