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

LeetCode-55-跳跃游戏-贪心

题目描述:
给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。

解题思路:换个方向,不纠结具体跳几步,而是关注覆盖范围,当可以跳跃的覆盖范围等于数组的长度或者下标的最大值,说明就可以到达最后一个下标。
注释中有详解~

代码实现

class Solution {public boolean canJump(int[] nums) {int index = nums.length-1;if (index==0){// 表示只有一个元素return true;}int range = 0;// 初始化 range为0,表示目前覆盖的是0for (int i = 0; i <= range; i++) {// 注意!!!覆盖范围为 range,不是lenrange = Math.max(i + nums[i], range);// 找到当前覆盖范围里的最大的覆盖范围if (range >= index){// 注意是 index ,不需要-1,因为前面已经减过1了,已经表示下标了return true;}}return false;}
}
http://www.lryc.cn/news/151028.html

相关文章:

  • 【USRP】调制解调系列4:BPSK、QPSK、8PSK、OQPSK、Pi/4DQPSK,基于labview的实现
  • 深入探讨梯度下降:优化机器学习的关键步骤(一)
  • layui框架学习(40:数据表格_主要事件)
  • kotlin实现猜数游戏
  • 51单片机项目(8)——基于51单片机的DS1302时钟系统
  • 高频策略:做市商与逆向选择
  • Valgrind内存诊断工具的使用笔记
  • docker安装Nacos
  • 【Linux】线程安全-死锁
  • pdf转换成图片免费软件用哪个?pdf转换成图片就用它
  • 【LeetCode】《LeetCode 101》第十二章:字符串
  • Android去掉视频声音
  • java-thread-affinity线程绑核
  • Springboot - 5.test集成
  • 弯道超车必做好题集锦三(C语言编程题)
  • JavaScript基础语法03——JS注释、结束符
  • 常见路由跳转的几种方式
  • 25.选择排序,归并排序,基数排序
  • DataX DorisWriter 插件DorisStreamLoadObserver类详细解读
  • leetcode:1710. 卡车上的最大单元数(python3解法)
  • Spring_JDBC的使用
  • 【Python从入门到进阶】34、selenium基本概念及安装流程
  • 如何确保ChatGPT在文本生成中遵循道德和伦理准则?
  • RISC-V Linux系统rootfs制作
  • git常用场景记录 | 拉取远程分支A合并到本地分支B
  • 如何利用Linux进行数据管理和分析?
  • vue3封装echarts图表数据无法渲染到页面
  • MySQL索引,事务和存储引擎
  • 开发指导—利用CSS动画实现HarmonyOS动效(一)
  • 电商项目part10 高并发缓存实战