跳跃游戏Ⅱ

问题

给定一个长度为 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]

解答

方法一:逆向思想

class Solution {public int jump(int[] nums) {int n = nums.length-1;int step = 0;while(n>0){for (int i = 0; i < n; i++) {if(i+nums[i]>=n){n = i;step++;break;}}}return step;}
}

方法二:贪心算法

class Solution {public int jump(int[] nums) {int n = nums.length - 1;int end = 0;int maxPosition = 0;int steps = 0;for (int i = 0; i < n; i++) {maxPosition = Math.max(maxPosition, i + nums[i]);if (i == end) {end = maxPosition;steps++;}}return steps;}
}

总结

方法一通过逆向思想,由后至前依次推算,但此方法时间复杂度为O(n2)

方法二通过贪心算法,算出每次步数中的最大步数,再通过最大步数进行下一次步数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/708890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

独立分体式比例阀控制器

比例阀放大器的主要作用是对比例阀进行控制&#xff0c;它产生所需的电信号&#xff0c;并对这些信号进行综合、比较、校正和放大。这样的设备通常包括稳压电源、颤振信号发生器等&#xff0c;以确保比例阀能够准确地响应控制指令。外置模块式的设计使得这种放大器可以方便地与…

windows系统下安装RabbitMQ

一、RabbitMQ安装软件资源准备 因为RabbitMQ是Erlang语言开发的&#xff0c;因此安装Erlang环境在进行安装RbbitMQ的操作&#xff0c;选择两者版本时一定要参考版本的兼容性 1.RabbitMQ国内下载地址&#xff0c;因官网下载比较缓慢&#xff0c;还是国内的稍微快些 https://r…

Kubernetes IoTDB系列 | IoTDB数据库同步|IoTDB数据库高可用

目录 一、介绍二、应用场景三、IoTDB 数据库搭建四、修改同步配置文件1、配置接收端的参数2、配置发送端的参数五、启动同步功能发送端六、测试一、介绍 IoTDB 数据库同步是指将一个节点的数据复制到其他节点,以确保数据的冗余和可用性。在分布式环境中,数据同步是保证系统高…

【日常聊聊】程序员的金三银四

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;日常聊聊 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 方向一&#xff1a;面试技巧分享 方向二&#xff1a;面试题解析 方向三&#xff1a;公司文化解读 方向四&#xff1a;职业规…

【Vision Pro 应用】Spatialty Coffee:探索咖啡制作的全新维度

Spatialty Coffee,一个引领咖啡文化潮流的应用程序,为用户提供了一个全新的平台,用以浏览和发现最佳的滤过咖啡配方。这款应用不仅满足了咖啡爱好者对于高品质咖啡的追求,同时也为那些希望提升咖啡制作技巧的人提供了有力的支持。 1.广泛支持的滤过咖啡制作器 Spatialty …

Spring篇----第十四篇

系列文章目录 文章目录 系列文章目录前言一、介绍一下 WebApplicationContext二、什么是 spring?三、使用 Spring 框架的好处是什么?四、Spring 由哪些模块组成?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,…

数据结构:链队

一、定义两个结构体 定义两个结构体,一个结构体是结点的结构体&#xff0c;一个结构体是保留指向对头结点和队尾结点指针的结构体 #ifndef __LINK_QUEUE_H__ #define __LINK_QUEUE_H__ #include <stdio.h> #include <stdlib.h>typedef struct link_node{int data…

android studio Unable to download file ‘xxx‘ in offline mode.

如果网络连接正常&#xff0c;但是报这个错&#xff0c;说明开启了离线模式&#xff0c;关掉就行了。 "toggle offline mode" 意思是切换到离线模式 点击右上角的Gradle&#xff0c;然后关闭倒数第二个图标。

利用NSKeyedUnarchiver把数据存储到本地

在开发中&#xff0c;如果使用plist存贮到本地的话&#xff0c;存贮的类型有限&#xff0c;这时候&#xff0c;我们可以就可以考虑利用NSKeyedUnarchiver把数据存储到本地&#xff0c;通过这个方法我们可以将model存贮到本地&#xff0c;一般用来保存用户的账号信息之类的 第一…

超详细的Python字典讲解

一、概念 1.定义 字典是另一种可变容器模型&#xff0c;且可存储任意类型对象。是可变数据类型 字典类型的创建 1.字典的每个键值key>value对用冒号:分隔&#xff0c;每个键值对之间用逗号,分割&#xff0c;整个字典包括在花括号{}中 d {key1:value1,key:value} 2.使…

Redis的发布订阅机制及其使用场景

Redis的发布订阅&#xff08;Pub/Sub&#xff09;机制是一种消息通信模式&#xff0c;其中发送者&#xff08;发布者&#xff09;将消息发送到特定的频道&#xff0c;而订阅者则订阅其中一个或多个频道&#xff0c;以接收感兴趣的消息。这种模式可以用于构建实时通信系统、消息…

【Rust】——函数(所有权)以及借用或引用

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

Postman相关问题及答案(2024)

1、Postman 是什么&#xff1f;它的用途是什么&#xff1f; Postman 是一个流行的 API (应用程序编程接口) 开发辅助工具&#xff0c;它帮助开发者设计、测试、文档化和监控 APIs。Postman 提供了一个友好的用户界面&#xff0c;使得发送网络请求、检查响应和其他与 API 交互的…

RK3568开发笔记-sdmmc3.0 error -110 whilst initialising SD card问题解决

目录 前言 一、SD介绍 二、原理图连接 三、设备树配置 四、SD卡调试

不是詹姆斯了?皮蓬改口称乔丹是他的GOAT

NBA直播吧-nba直播在线观看免费高清直播录像回放NBA直播吧是一个专业NBA直播在线观看免费直播平台&#xff0c;专业提供nba直播免费高清在线观看中文jrs无插件直播&#xff0c;NBA录像回放&#xff0c;CBA直播&#xff0c;WNBA以及篮球直播&#xff0c;足球直播五大联赛等最新直…

同步与异步:程序执行方式的不同之处

在软件开发中&#xff0c;同步和异步是两个重要的概念&#xff0c;用于描述程序的执行方式。它们的区别在于程序在处理任务时是否需要等待或阻塞。下面我们来详细了解一下它们的区别和应用场景。 同步&#xff08;Synchronous&#xff09; 同步操作是指程序按照顺序执行&…

CNN中的伯努利分布与二项式分布

文章目录 一、伯努利分布是什么&#xff1f;1、伯努利分布的应用2、伯努利分布在CNN中的应用3、举个栗子4、伯努利分布可以用于多个类别的分类么5、伯努利分布与多项式分布的区别与联系 二、多项式分布是什么&#xff1f;1、多项式分布在CNN中的应用2、举个栗子 三、损失函数是…

蓝桥杯-常用STL(三)

常用STL &#x1f388;1.映射&#x1f388;2.map的基础使用&#x1f52d;2.1引入库&#x1f52d;2.2构造一个映射&#x1f52d;2.3插入一对映射&#x1f52d;2.4判断关键字是否存在&#x1f52d;2.5遍历映射&#x1f52d;2.6清空 &#x1f388;1.映射 &#x1f50e;映射是指两个…

Pycharm环境中,python为变量赋值的时候,如何自动添加空格?

在python中&#xff0c;为变量赋值的时候&#xff0c;如果没有加入空格&#xff0c;代码底部会有灰色波浪线&#xff0c;说明不符合Python规范。 可以在菜单栏选择code&#xff0c;reformat code。重新格式化代码&#xff0c;所有代码会自动格式化。 快捷方式为&#xff1a;ct…

Marble Race in Algodoo

Marble 的形式 ENCNMarble Race小球竞赛 / 球球比赛Marble Elimination小球淘汰赛Survival Proliferation生存繁殖赛Territory War领土战争Castle Destruction城堡破坏 / 城堡毁灭Sea Battle / Ship Battle海战 / 战船较量Escape from ( )跑路比赛 / 从( )逃离 Thyme 中的符号…