LeetCode(10)跳跃游戏 II【数组/字符串】【中等】

news2024/12/23 10:07:38

在这里插入图片描述

目录

    • 1.题目
    • 2.答案
    • 3.提交结果截图

链接: 45. 跳跃游戏 II

1.题目

给定一个长度为 n0 索引整数数组 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 <= 10^4
  • 0 <= nums[i] <= 1000
  • 题目保证可以到达 nums[n-1]

2.答案

class Solution {
    public int jump(int[] nums) {
        if (nums.length < 2) {
            return 0;
        }
        int[] steps = new int[nums.length];
        Arrays.fill(steps, 0);
        for (int i = nums.length - 2; i >= 0; i--) {
            // 最大跳跃长度为0,不通过
            int jump = nums[i];
            if (jump == 0) {
                continue;
            }
            // 跳到末位及以后,通过
            if (i + jump >= nums.length - 1) {
                steps[i] = 1;
                continue;
            }
            // 使用历史记录判断
            int j = 1;
            int minStep = nums.length;
            for (; j <= jump; j++) {
                if (steps[i+j] > 0) {
                    minStep = Math.min(minStep, steps[i+j] + 1);
                }
            }
            // 通过后更新记录
            if (minStep < nums.length) {
                steps[i] = minStep;
            }
        }
        return steps[0];
    }
}

3.提交结果截图

在这里插入图片描述

整理完毕,完结撒花~ 🌻

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

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

相关文章

XML Web 服务 Eclipse实现中的sun-jaxws.xml文件

说明 在sun-jaxws.xml文件&#xff0c;可以配置endpoint、handler-chain等内容。在这个文件中配置的内容会覆盖在Java代码中使用注解属性配置的的内容。 这个文件根据自己的项目内容修改完成以后&#xff0c;作为web应用的一部分部署到web容器中&#xff08;放到web应用的WEB…

高效批量剪辑、处理和添加水印,用视频批量剪辑高手轻松搞定!

您是否曾经在处理大量视频时&#xff0c;因为剪辑、处理和添加水印等问题而感到烦恼&#xff1f;是否因为这些问题而大大降低了您的工作效率&#xff1f;现在&#xff0c;我们为您推荐一款全新的视频批量剪辑工具——视频批量剪辑高手&#xff0c;让您的工作效率瞬间翻倍&#…

听10秒语音就能判断糖尿病,这个AI大模型太硬核了!

加拿大的Klick科研人员在顶级健康杂志《梅奥诊所文集&#xff1a;数字健康》上发布了一个AI大模型&#xff0c;只需要听一段6—10秒的语音&#xff0c;就能诊断是否患有2型糖尿病&#xff08;T2DM&#xff09;。 目前糖尿病的主要检测方式依赖于血糖测量&#xff0c;但这种方法…

【06】VirtualService高级流量功能

5.3 weight 部署demoapp v10和v11版本 --- apiVersion: apps/v1 kind: Deployment metadata:labels:app: demoappv10version: v1.0name: demoappv10 spec:progressDeadlineSeconds: 600replicas: 3selector:matchLabels:app: demoappversion: v1.0template:metadata:labels:app…

基于token的多平台身份认证架构设计

1 概述 在存在账号体系的信息系统中&#xff0c;对身份的鉴定是非常重要的事情。 随着移动互联网时代到来&#xff0c;客户端的类型越来越多&#xff0c; 逐渐出现了 一个服务器&#xff0c;N个客户端的格局 。 不同的客户端产生了不同的用户使用场景&#xff0c;这些场景&…

Python实现cpu密集型多线程

问题&#xff1a; 想通过以下代码实现多线程 class ThreadTest(threading.Thread):def __init__(self, num, *args, **kwargs):super(ThreadTest, self).__init__(*args, **kwargs)self.num numprint(num)def run(self):print(self.num)print(time.time())if __name__ &quo…

Git-工作流

前言 一、工作流概述二、Git flow1.主要流程2.优缺点3.适用场景 三、Github flow1.主要流程2.优缺点3.适用场景 四、Gitlab flow1.主要流程2.优缺点3.适用场景 总结参考 一、工作流概述 开发人员通过Git可以记录和追踪代码的变化&#xff0c;包括添加、删除和修改文件。如果是…

贪吃蛇和俄罗斯方块

贪吃蛇 一、创建新项目 创建一个新的项目&#xff0c;并命名。 创建一个名为images的文件夹用来存放游戏相关图片。 然后再在项目的src文件下创建一个com.xxx.view的包用来存放所有的图形界面类&#xff0c; 创建一个com.xxx.controller的包用来存放启动的入口类(控制类) …

C语言精选练习题:(7)计算最大值和最小值的差

每日一言 欲把西湖比西子&#xff0c;淡妆浓抹总相宜。 --饮湖上初晴后雨二首其二 题目 输入10个整数&#xff0c;找出其中的最大和最小值&#xff0c;计算两者的差&#xff0c;并打印出来 解题思路 创建一个数组用循环将10个整数存到数组中用打擂台的方式求出最大和最小值打…

浅谈二叉树

✏️✏️✏️今天给大家分享一下二叉树的基本概念以及性质、二叉树的自定义实现&#xff0c;二叉树的遍历等。 清风的CSDN博客 &#x1f61b;&#x1f61b;&#x1f61b;希望我的文章能对你有所帮助&#xff0c;有不足的地方还请各位看官多多指教&#xff0c;大家一起学习交流&…

讲座录播 | 邹磊教授:图数据库的概念和应用

2023年10月16日 由中国计算机学会主办的 “CCF Talk”直播间 进行了题目为 术语解读:“图计算”的内涵与应用 主题直播活动 讲座吸引7708人观看 图作为一种灵活表达复杂关联关系的数据结构&#xff0c;目前已广泛地应用于社会治理、医疗健康、电网分析、计算材料、计算育…

嵌入式软件工程师面试题——2025校招社招通用(十三)

说明&#xff1a; 面试题来源于网络书籍&#xff0c;公司题目以及博主原创或修改&#xff08;题目大部分来源于各种公司&#xff09;&#xff1b;文中很多题目&#xff0c;或许大家直接编译器写完&#xff0c;1分钟就出结果了。但在这里博主希望每一个题目&#xff0c;大家都要…

Linux下MSSQL (SQL Server)数据库无法启动故障处理

有同事反馈一套CentOS7下的mssql server2017无法启动需要我帮忙看看&#xff0c;启动报错情况如下 检查日志并没有更新日志信息 乍一看mssql-server服务有问题&#xff0c;检查mssql也确实没有进程 既然服务有问题&#xff0c;那么我们用一种方式直接手工后台启动mssql引擎来…

有什么价格实惠的猫罐头?2023良心性价比的猫罐头推荐!

选购猫罐头至关重要&#xff0c;好的猫罐头不仅营养丰富&#xff0c;水分充足&#xff0c;适口性佳&#xff0c;还能易于消化吸收。然而&#xff0c;若选择不当&#xff0c;可能不仅无法达到预期效果&#xff0c;甚至可能产生负面影响。 作为一个从事宠物行业7年的宠物店店长&…

Python语言的十大特性。

文章目录 前言一、Python二、Python 编程语言的特性三、开源四、Python 中的 GUI 编程支持五、Python 支持高级语言六、可扩展性七、可移植性八、大型标准库九、解释性语言十、面向对象程序设计语言十一、表达力十二、常见问题总结Python技术资源分享1、Python所有方向的学习路…

【Mybatis小白从0到90%精讲】17:Mybatis Mapper XML必须同包同名吗?mappers配置的4种方式详解

文章目录 前言一、package方式二、resource方式三、url方式四、class方式五、源码求证前言 对于Mybatis Mapper,通常都是 Java接口与Mapper.xml 同包同名,那么是否必须同包同名? 实际上并不是必须,对于Mapper的配置,是在全局配置文件 mybatis-config.xml 中 通过mappers…

孙哥Spring源码第29集

第29集 解析事务属性中的传播属性 【视频来源于&#xff1a;B站up主孙帅suns Spring源码视频】【微信号&#xff1a;suns45】 1、事务属性有哪些&#xff1f; 1、事务属性2、传播属性3、只读属性 设置事务为只读&#xff0c;提高事务运行的效率 false 4、超时属性 超时属性 通…

一、认识微服务

目录 一、单体架构 二、分布式架构 三、微服务 1、微服务架构特征&#xff1a; 1.单一职责&#xff1a; 2.面向服务&#xff1a; 3.自治&#xff1a; 4.隔离性强&#xff1a; 2、微服务结构&#xff1a; 3、微服务技术对比&#xff1a; 一、单体架构 二、分布式架构 三…

UITableView的style是UITableViewStyleGrouped

一般情况下&#xff0c;UITableViewStylePlain和UITableViewStyleGrouped是UITableView常用到的style&#xff0c; 之前都是用到的时候&#xff0c;遇到问题直接用度娘&#xff0c;差不多就够用了&#xff0c;今天在修复UI提出的间隙问题&#xff0c;来回改&#xff0c;总觉得…

Rust-使用dotenvy加载和使用环境变量

系统的开发&#xff0c;测试和部署离不开环境变量&#xff0c;今天分享在Rust的系统开发中&#xff0c;使用dotenvy来读取和使用环境变量。 安装 cargo add dotenvy dotenv_codegen 加载环境变量 use dotenvy::dotenv;fn main() {dotenv().expect(".env不存在");…