leetcode2770. 达到末尾下标所需的最大跳跃次数

这篇具有很好参考价值的文章主要介绍了leetcode2770. 达到末尾下标所需的最大跳跃次数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • https://leetcode.cn/problems/maximum-number-of-jumps-to-reach-the-last-index/

  • 给你一个下标从 0 开始、由 n 个整数组成的数组 nums 和一个整数 target 。

  • 你的初始位置在下标 0 。在一步操作中,你可以从下标 i 跳跃到任意满足下述条件的下标 j :

  • 0 <= i < j < n

  • -target <= nums[j] - nums[i] <= target

  • 返回到达下标 n - 1 处所需的 最大跳跃次数 。如果无法到达下标 n - 1 ,返回 -1 。文章来源地址https://www.toymoban.com/news/detail-620572.html

示例 1:

输入:nums = [1,3,6,4,1,2], target = 2
输出:3
解释:要想以最大跳跃次数从下标 0 到下标 n - 1 ,可以按下述跳跃序列执行操作:
- 从下标 0 跳跃到下标 1 。 
- 从下标 1 跳跃到下标 3 。 
- 从下标 3 跳跃到下标 5 。 
可以证明,从 0 到 n - 1 的所有方案中,不存在比 3 步更长的跳跃序列。因此,答案是 3 。 
示例 2:

输入:nums = [1,3,6,4,1,2], target = 3
输出:5
解释:要想以最大跳跃次数从下标 0 到下标 n - 1 ,可以按下述跳跃序列执行操作:
- 从下标 0 跳跃到下标 1 。 
- 从下标 1 跳跃到下标 2 。 
- 从下标 2 跳跃到下标 3 。 
- 从下标 3 跳跃到下标 4 。 
- 从下标 4 跳跃到下标 5 。 
可以证明,从 0 到 n - 1 的所有方案中,不存在比 5 步更长的跳跃序列。因此,答案是 5 。 
示例 3:

输入:nums = [1,3,6,4,1,2], target = 0
输出:-1
解释:可以证明不存在从 0 到 n - 1 的跳跃序列。因此,答案是 -1 。 
 

提示:

2 <= nums.length == n <= 1000
-109 <= nums[i] <= 109
0 <= target <= 2 * 109

题解

  • 如果是求达到末尾下标所需的最小跳跃次数,可以假设dp[i]为0 到当前位置需要的最少步数然后使用min(能到的位置)+1
  • 求最大值同理也能通过:
class Solution {
public:
    int maximumJumps(vector<int> &nums, int target) {
        int n = nums.size();
        vector<int> p(n, INT32_MIN);
        p[0] = 0;
        for (int i = 1; i < n; i++)
            for (int j = 0; j < i; j++)
                if (p[j] != INT32_MIN && abs(nums[i] - nums[j]) <= target)
                    p[i] = max(p[i], p[j] + 1);
        return p[n - 1] == INT32_MIN ? -1 : p[n - 1];
    }
};

到了这里,关于leetcode2770. 达到末尾下标所需的最大跳跃次数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MATLAB计算程序运行所需的时间

    在使用MATLAB进行计算时,用户有时需要了解程序运行所花费的四件,以此来评价程序的执行效率,从而对代码进行优化 可以使用3种方法来得到程序运行所需要的时间 1.使用tic和toc命令 将tic和toc命令相结合来得到程序的运行时间 ①tic命令:启动一个定时器 ②toc命令:停止由

    2024年02月11日
    浏览(31)
  • Windows运行Spark所需的Hadoop安装

    解压文件  复制bin目录         找到winutils-master文件hadoop对应的bin目录版本         全部复制替换掉hadoop的bin目录文件  复制hadoop.dll文件         将bin目录下的hadoop.dll文件复制到System32目录下    配置环境变量  修改hadoop-env.cmd配置文件 注意jdk装在非C盘则完全没问题,

    2024年02月10日
    浏览(35)
  • 嵌入式设备逆向所需的工具链

    导语:本文介绍了嵌入式设备逆向所需的工具链。 相关的应用程序或工具有: UART(Universal Asynchronous Receiver Transmitter,通用异步收发器): UBoot; Depthcharge; SPI (Serial Peripheral Interface,串行外设接口): Flashrom; I2C(Inter-Integrated Circuit,集成电路总线): i2cdetect; i2cdump; JTAG (

    2024年02月03日
    浏览(36)
  • AD20打样所需的Gerber文件输出

    打样前2步必须要有,第3步IPC网表的输出可有可无。 所有步骤源于凡亿教育,在此进行笔记记录。 点击 文件 → 制造输出 → Gerber Files 通用 :单位选择 英寸 ,格式选择 2:5 (精度为0.01mil) 层 : 绘制层 选择 选择使用的 , 镜像层 选择 全部去掉 ,勾选 包括未连接的中间层

    2024年02月15日
    浏览(34)
  • 在stm32中,所需的库函数有那些

    使用库函数中封装的函数来访问外设可以使得stm32开发更加方便,省去了查寄存器位操作,只用查库函数就可以了 但是使用库函数时要记住真正的其本质是获取寄存器的地址然后设置其中的位 库函数一般添加到自己创建的Lib文件夹中 库函数实际上分成了两块,分别是CSMIS和标

    2024年04月26日
    浏览(29)
  • 技术写作者所需的关键技能和知识

    成为一名优秀的技术写作者需要以下核心技能: 写作技巧: 优秀的语言和语法掌握能力 出色的拼写能力 对标点符号的理解 技术知识: 对复杂技术概念有很好的理解 将复杂概念转换为易于理解的内容 研究技能: 识别最终用户的需求 快速理解新概念和技术的能力 工具技能: 熟练

    2024年02月04日
    浏览(37)
  • 如何用手机快速获得真人手办所需的人像模型

    伴随网络生活覆盖面的增大,越来越多的领域需要三维模型 ,比如最近爆火的真人手办就必须用到人像模型 。 真人手办的制作过程其实非常简单,在专门搭建的摄影棚内进行全身3D扫描,获得3D人体模型,然后进行修模,最后3D打印出来,一个真人手办就诞生了。 想快速做一

    2024年02月11日
    浏览(619)
  • Python:下载python的库所需的国内下载源

    一、常用的国内镜像源 国内的一些下载源,可以加快下载速度。 二、使用方法 pip install -i https://pypi.doubanio.com/simple/ 包名 举例:安装numpy库

    2024年02月05日
    浏览(31)
  • macOS黑苹果安装提示未能安装所需的固件更新

    macOS big sur 、macOS Monterey 黑苹果安装跳出个更新助理然后提示未能安装所需的固件更新解决办法。 OpenCore引导解决方法: 1.config.plist — PlatformInfo — Generic,更换一个比较新的SMBIOS机型; 2.config.plist — PlatformInfo — Generic 勾选 AdviseFeatures; 然后保存重启即可解决。 这两天帮同

    2024年02月09日
    浏览(52)
  • Android 12.0根据包名授予app所需的权限

    在12.0定制开发中第三方app第一次进入的时候 会弹出授予权限的权限框 有时候觉得挺麻烦的,所以根据客户要求 默认授予权限,这时我们就需要根据包名PackageName 来给与所需要的权限 首选来看下PackageManagerService.java PackageManagerService.java 1 管理系统的jar包和apk,负责系统权限

    2024年02月09日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包