Leetcode_45:跳跃游戏 II
题目描述:
给定一个长度为 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]
。
示例 1:
输入: nums = [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2 ,从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。
示例 2:
输入: nums = [2,3,0,1,4] 输出: 2
提示:
1 <= nums.length <= 104
0 <= nums[i] <= 1000
- 题目保证可以到达
nums[n-1]
思路:
①首先是判断数组的长度。如果数组的长度小于或者等于1,则返回0,因为此时已经处在最后一个位置;
②每到一个位置 i 时,跳跃的范围是从 [ i+1 , i+nums[i] ] ,i+1 表示的是左边界,跳最小距离 1;i + nums [ i ] 表示右边界,跳最大距离 i + nums [ i ],每次跳跃的最优解是右边界最大,即需要最短的次数即可达到最后位置。
代码:
class Solution(object):def jump(self, nums):""":type nums: List[int]:rtype: int"""n = len(nums)if n <= 1:return 0step = 1left, right = 1, nums[0]while right < n - 1:for i in range(left, right + 1):if i + nums[i] > right:right = i + nums[i]left = i + 1step += 1return stepif __name__ == "__main__":nums = [2, 1]a = Solution()print(a.jump(nums))
相关文章:
Leetcode_45:跳跃游戏 II
题目描述: 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返…...

给新手教师的成长建议
随着教育的不断发展和进步,越来越多的新人加入到教师这个行列中来。从学生到教师,这是一个华丽的转身,需要我们不断地学习和成长。作为一名新手老师,如何才能快速成长呢?以下是一名老师教师给的几点建议: 一…...

新手教师如何迅速成长
对于许多新手教师来说,迈出教学的第一步可能会感到非常困难。不过,通过一些关键的策略和技巧,还是可以快速提升教学能力的,我将为大家提供一些实用的建议,帮助各位在教育领域迅速成长。 深入了解学科知识 作为一名老师…...

竞赛选题 深度学习验证码识别 - 机器视觉 python opencv
文章目录 0 前言1 项目简介2 验证码识别步骤2.1 灰度处理&二值化2.2 去除边框2.3 图像降噪2.4 字符切割2.5 识别 3 基于tensorflow的验证码识别3.1 数据集3.2 基于tf的神经网络训练代码 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 &#x…...

提升工作效率,使用AnyTXT Searcher实现远程办公速查公司电脑文件——“cpolar内网穿透”
文章目录 前言1. AnyTXT Searcher1.1 下载安装AnyTXT Searcher 2. 下载安装注册cpolar3. AnyTXT Searcher设置和操作3.1 AnyTXT结合cpolar—公网访问搜索神器3.2 公网访问测试 4. 固定连接公网地址 前言 你是否遇到过这种情况,异地办公或者不在公司,想找…...

mybatis使用foreach标签实现union集合操作
最近遇到一个场景就是Java开发中,需要循环多个表名,然后用同样的查询操作分别查表,最终得到N个表中查询的结果集合。在查询内容不一致时Java中跨表查询常用的是遍历表名集合循环查库,比较耗费资源,效率较低。在查询内容…...
请问DasViewer是否支持与业务系统集成,将业务的动态的数据实时的展示到三维模型上?
答:一般这种是以平台的方式来展示,云端地球实景三维建模云平台是专门做这一块的,可前往云端地球官网免费使用。 DasViewer是由大势智慧自主研发的免费的实景三维模型浏览器,采用多细节层次模型逐步自适应加载技术,让用户在极低的电脑配置下,…...
[ruby on rails]rack-cors, rack-attack
gem rack-attack gem rack-cors1. rack-attack 可以根据ip、域名等设置黑名单、设置访问频率 设置黑名单 # 新增 config/initializers/rack_attack.rb # 请求referer如果匹配不上设置的allowed_origins,返回403 forbidden Rack::Attack.blocklist(block bad domai…...

猫12分类:使用多线程爬取图片的Python程序
本文目标 对于猫12目标检测部分的数据集,采用网络爬虫来制作数据集。 在网络爬虫中,经常需要下载大量的图片。为了提高下载效率,可以使用多线程来并发地下载图片。本文将介绍如何使用Python编写一个多线程爬虫程序,用于爬取图片…...

《深度学习500问》外链笔记
1.这个是什么意思...
机器学习技术栈—— 概率学基础
机器学习技术栈—— 概率学基础 先验概率、后验概率、似然概率总体标准差和样本标准差 先验概率、后验概率、似然概率 首先 p ( w ∣ X ) p ( X ∣ w ) ∗ p ( w ) p ( X ) p(w|X) \frac{ p(X|w)*p(w)}{p(X)} p(w∣X)p(X)p(X∣w)∗p(w) 也就有 p ( w ∣ X ) ∝ p ( X ∣ …...

使用Redis实现分布式锁
Hi, I’m Shendi 使用Redis实现分布式锁 需求场景 需要使用到分布式锁的场景非常多,例如抢单等并发场景,这里举一个例子。 有一个商品,限量出售100个,一个用户下单,数量就减少一个,当剩下最后一个时&…...

linux 服务器进程、端口查找,nginx 配置日志查找,lsof 命令详解
一 、根据端口号 查看文件的部署位置 1.1 使用查看端口号对应的进程信息 方式一 : 使用netstat命令 netstat -tuln | grep 端口号-t:显示TCP连接 -u:显示UDP连接 -l:仅显示监听状态的连接 -n:以数字形式显示端口…...

汽车标定技术--A2L格式分析
目录 1.A2L由来 2.A2L格式 2.1 PROJECT 2.2 MODULE中包含的内容 3. INCA和CANape兼容吗? 最近有朋友用Vector ASAP2Editor编译的A2L文件在INCA7.4中无法识别,我记得以前做的时候是可以识别的,难不成最近有什么变动吗?出于好…...

Linux操作系统使用及C高级编程-D9D10Linux 服务搭建与使用
TFTP服务器 TFTP(Trivial File Transfer Protocol)即简单文件传输协议,是TCP/IP协议中一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69 1、使用客户服务器方式和使用UDP数据…...
git下载安装配置及Git在Gitee上拉取和上传代码教程
一、Git下载安装和配置 Git是一个分布式版本控制系统,用于跟踪文件的变化并协作开发。以下是安装和配置Git的简单步骤: 安装Git 下载Git安装程序:Git下载地址。 运行安装程序,按照提示进行安装。 在安装过程中,选择…...

ospf路由选路及路由汇总
一、知识补充 1、ABR和ASBR 1.1 ABR ABR指的是边界路由,通常位于两个或多个区域之间,用于在不同的OSPF区域之间传递信息。当一个路由器同时连接到两个或多个区域时,它就成为了ABR,它需要维护每个区域的拓扑信息和路由表&#x…...
Oracle 11g 多数据库环境下的TDE设置
19c的TDE wallet的设置是在数据库中设置的,也就是粒度为数据库,因此不会有冲突。 而11g的设置是在sqlnet.ora中,因此有可能产生冲突。 这里先将一个重要概念,按照文档的说法,wallet是不能被数据库共享的。 If there …...
vue3使用pinia实现数据缓存
文章目录 前言一、pinia是什么?二、安装pinia三、注册pinia四、使用pinia定义数据及方法使用 优化如有启发,可点赞收藏哟~ 前言 vue2以前一直使用vuex实现状态管理 vue3之后推出了pinia… 一、pinia是什么? 直观、类型安全、轻便灵活的Vue …...
【CSS】min 和 max 函数(设置最大最小值)
文章目录 min() 函数:允许你从逗号分隔符表达式中选择一个最小值作为 CSS 的属性值 width: min(1vw, 4em, 80px);max() 函数:让你可以从一个逗号分隔的表达式列表中选择最大(正方向)的值作为属性的值 width: max(10vw, 4em, 80p…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...

Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...