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

力扣题解(跳跃游戏II)

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]

思路:

解法一是利用递归的思想,从后往前,dp[i]表示从i位置到n-1的最小跳跃次数,最后dp[0]就是从0跳到n-1位置的最小次数。

解法二是层序遍历的思想,l和r表示当前跳跃次数所能到达的范围(此处的范围是被上一次跳跃范围不共同包含的那一部分),最后看哪一次跳跃后范围包括n-1,则跳跃次数就是那一次。

class Solution {
public:int jump(vector<int>& nums) {// int n=nums.size();// if(n==1)// return 0;// vector<int>dp(n,INT_MAX-1000);// dp[n-1]=1;// for(int i=n-2;i>=0;i--)// {//    for(int j=0;j<=nums[i];j++)//    {//      if(i+j>=n-1)//      {//         dp[i]=1;//         break;//      }//      else//      {//         dp[i]=min(dp[i],dp[i+j]+1);//      }//    }// }// return dp[0];int n=nums.size();int l=0,r=0;int ret=0;while(r<n-1){   // cout<<l<<r;ret++;int l1=r+1;int r1=r;for(int i=l;i<n&&i<=r;i++){r1=max(r1,i+nums[i]);}l=l1;r=r1;}return ret;}
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 关于linux上root连接mysql时遇到的一点小问题以及rsync通过ssh的文件同步传输以及免密码传输的实现
  • C++系列-多态的基本语法
  • 【Linux —— 生产者消费者模型】
  • 47.【C语言】指针(重难点)(J)
  • 【渗透测试】ATTCK靶场一,phpmyadmin,域渗透,内网横向移动攻略
  • Unity动画模块 之 动画层混合
  • 我要做全栈:自学前端第一天
  • Go开发桌面客户端软件小试:网站Sitemap生成
  • client网络模块的开发和client与server端的部分联动调试
  • 流体力学解迷宫
  • 【ZYNQ MPSoC开发】PS裸机多核程序的固化
  • 计算机毕业设计选题推荐-体育馆场地预约系统-Java/Python项目实战
  • 学习MyBatis-Plus
  • (一) 初入MySQL 【认识和部署】
  • 【C语言从不挂科到高绩点】02-变量、数据类型、标识符、关键字
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 30秒的PHP代码片段(1)数组 - Array
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • emacs初体验
  • input的行数自动增减
  • java8 Stream Pipelines 浅析
  • Travix是如何部署应用程序到Kubernetes上的
  • Vim Clutch | 面向脚踏板编程……
  • Vue.js源码(2):初探List Rendering
  • 爱情 北京女病人
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 记一次删除Git记录中的大文件的过程
  • 警报:线上事故之CountDownLatch的威力
  • 力扣(LeetCode)965
  • 深度学习入门:10门免费线上课程推荐
  • 移动端唤起键盘时取消position:fixed定位
  • 你对linux中grep命令知道多少?
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​Benvista PhotoZoom Pro 9.0.4新功能介绍
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #《AI中文版》V3 第 1 章 概述
  • #70结构体案例1(导师,学生,成绩)
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (function(){})()的分步解析
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (推荐)叮当——中文语音对话机器人
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (译)2019年前端性能优化清单 — 下篇
  • (转)Unity3DUnity3D在android下调试
  • (转)详解PHP处理密码的几种方式
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .Net7 环境安装配置
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • @ 代码随想录算法训练营第8周(C语言)|Day57(动态规划)