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

45. 跳跃游戏 II(Java)

题目描述:

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。
每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处:
0 <= j <= nums[i]
i + j < n
返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。

输入:

nums = [2,3,1,1,4]

输出:

2
解释: 跳到最后一个位置的最小跳跃数是 2。
从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。

代码实现:

public class Main{public static void main(String[] args) {int[] nums = new int[]{4, 1, 1, 3, 1, 1, 1};System.out.println(jump(nums));//2}public static int jump(int[] nums) {//跳跃次数int cnt = 0;//每一次跳跃的起点int start = 0;//每一次跳跃的终点int end = 0;//计算每一轮的最大跳跃数int max = 0;while (end < nums.length - 1) {for (int i = start; i <= end; i++) {//计算本轮区间数据中的最大数据长度max = Math.max(max, nums[i] + i);}start = end;//上一轮的终点变起点end = max;//这一轮终点为:上一轮起点到终点中能到达的最大跳跃长度cnt++;}return cnt;}
}
http://www.lryc.cn/news/273864.html

相关文章:

  • [足式机器人]Part4 南科大高等机器人控制课 CH12 Robotic Motion Control
  • 【C++】知识点汇总(上)
  • 解决docker容器内无法连接宿主redis
  • 43 tmpfs/devtmpfs 文件系统
  • C语言编译器(C语言编程软件)完全攻略(第十二部分:VS2010下载地址和安装教程(图解))
  • 【VRTK】【VR开发】【Unity】18-VRTK与Unity UI控制的融合使用
  • BERT(从理论到实践): Bidirectional Encoder Representations from Transformers【3】
  • 静态网页设计——校园官网(HTML+CSS+JavaScript)
  • phpstudy_pro 关于多版本php的问题
  • TemporalKit的纯手动安装
  • 人生重开模拟器
  • 优化算法3D可视化
  • 魔术表演Scratch-第14届蓝桥杯Scratch省赛真题第1题
  • LLM 中的长文本问题
  • 深入了解Swagger注解:@ApiModel和@ApiModelProperty实用指南
  • Linux学习第48天:Linux USB驱动试验:保持热情,保持节奏,持续学习是作为一个技术人员应有的基本素质和要求
  • 数据库索引简析
  • leetcode贪心(单调递增的数字、监控二叉树)
  • 如何在win7同样支持Webview2 在 WPF 中使用本地 Webview2 ,如何不依赖系统 Runtime
  • 【docker】网络模式管理
  • LiveGBS国标GB/T28181流媒体平台功能-国标级联中作为下级平台对接海康大华宇视华为政务公安内网等GB28181国标平台查看级联状态及会话
  • 技术发展驱动编程语言走向
  • tp5+workman(GatewayWorker) 安装及使用
  • vscode安装Prettier插件,对vue3项目进行格式化
  • macOS跨进程通信: XPC 创建实例
  • Ubuntu18.04 升级Ubuntu20.04
  • 自动化测试怎么做?看完你就懂了。。。
  • 小秋SLAM入门实战opencv所有文章汇总
  • 2023年终总结(脚踏实地,仰望星空)
  • Transforer逐模块讲解